2017-04-17 232 views
0

我想發送電子郵件附件使用亞馬遜SES亞馬遜SES發送電子郵件與attachemnt codeingiter

下面是我在做什麼:

<?php 
$file_path = DOC_ROOT.'/report/'; 
$myfile = $file_path.$filename; 
$file_size = filesize($myfile); 
$handle = fopen($myfile, "r"); 
$content = fread($handle, $file_size); 

$subject = 'Report'; 
$content = chunk_split(base64_encode($content)); 
$header = ""; 

$message = 
    '<html> 
     <head><title></title></head> 
     <body> 
      <p>Hello '.$vEmail.',</p></br> 
      <p>Please find attached file.</p>  
      <p>Regards,</p> 
      <p>'.MAINTITLE.'</p></br> 
     </body> 
     </html>'; 

$ses = new Simpleemailservice(AWS_ACCESSKEY, AWS_SECRET); 
$from = FROM_EMAIL_SES;  
$uid = md5(uniqid(time())); 

$header = "From: ".$from." <".$from.">\r\n"; 
$header .= "To: ".$vEmail."\r\n"; 
$header .= "Subject: ".$subject."\r\n"; 
$header .= "MIME-Version: 1.0\r\n"; 
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 
$header .= "This is a multi-part message in MIME format.\r\n"; 
$header .= "--".$uid."\r\n"; 
$header .= "Content-type:text/html; charset=iso-8859-1\r\n"; 
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
$header .= $message."\r\n\r\n"; 
$header .= "--".$uid."\r\n"; 
$header .= "Content-Type: text/csv; name=\"".$myfile."\"\r\n"; 
$header .= "Content-Transfer-Encoding: base64\r\n"; 
$header .= "Content-Disposition: attachment; filename=\"".$myfile."\"\r\n\r\n"; 
$header .= $content."\r\n\r\n"; 
$header .= "--".$uid."--"; 

$msg['RawMessage']['Data'] = base64_encode($header); 
$msg['RawMessage']['Source']= $from; 
$msg['RawMessage']['Destinations'] = $vEmail; 
fclose($handle); 

$result = $ses->sendRawEmail($msg); 
$msg_id = $result->get('MessageId'); 
?> 

錯誤我得到:

Fatal error: Call to a member function setParameter() on a non-object in /libraries/Simpleemailservice.php on line 267

,我發現這個Answer,但它並沒有幫助。

回答

1

初始化可能有問題, 您可以查看API文檔以瞭解詳細信息。

我可以給你的PHPMailer和亞馬遜SNS.You一個更好的選擇,可以檢查出我在下面給的代碼。 https://gist.github.com/kilitbilgi/f697898339e3e751c32c735ac9c4ba1d

+0

收到此錯誤:** SMTP連接()失敗** –

+0

它可以與你的證書先​​生的問題,你可以檢查你的API,密鑰和您所在的區域。 – kilitbilgi

+0

我也更新我的要點文件並添加示例函數調用 – kilitbilgi

相關問題