2016-07-07 170 views
0

我使用phpMailer發送電子郵件與亞馬遜SES,我的代碼完美工作。我堅持發送電子郵件到多個地址,當我嘗試影響多個地址像這樣$ to =「abc @ gmail.com,def @ gmail.com」;它不工作,我有這條消息錯誤:梅勒錯誤:您必須提供至少一個收件人的電子郵件地址。但是當我只有一個地址它的工作。如何發送電子郵件到多個地址?PHP使用亞馬遜SES發送電子郵件到多個地址SES

$account="username"; 
$password="password"; 
$to="[email protected]"; 
$from="[email protected]"; 
$from_name="Peter"; 
$msg="<strong>test smtp with amazon.</strong>"; // HTML message 
$subject="HTML message"; 
require 'class.phpmailer.php'; 

$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->CharSet = 'UTF-8'; 
$mail->Host = "email-smtp.us-east-1.amazonaws.com"; 
$mail->SMTPAuth= true; 
$mail->Port = 465; // Or 587 
$mail->Username= $account; 
$mail->Password= $password; 
$mail->SMTPSecure = 'ssl'; 
$mail->From = $from; 
$mail->FromName= $from_name; 
$mail->isHTML(true); 
$mail->Subject = $subject; 
$mail->Body = $msg; 
$mail->addAddress($to); 

if(!$mail->send()){ 
    echo "Mailer Error: " . $mail->ErrorInfo; 
}else{ 
echo "E-Mail has been sent"; 
    } 
?> 
+0

爲什麼不使用[SES PHP SDK](http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-ses.html)? – Ankh

回答

1

你可以做一個陣列的所有電子郵件和做foreach循環。

$to = $_POST['name']; 

$emails = explode(',',$to); 


$emails = array(
    "[email protected]", 
    "[email protected]", 
    "[email protected]", 
    "[email protected]", 
    "[email protected]", 
    "[email protected]", 
    "[email protected]" 
); 

foreach ($emails as $email){ 
    $mail->AddAddress($email); 
} 
+0

現在,當我申請你的代碼時,我很抱歉,我忘了指定電子郵件地址將來自這樣的帖子:$ to = $ _POST ['mail'];我嘗試這個:$ emails = array($ to => $ name);它失敗 – Diasline

+0

您發佈了多少封電子郵件? –

+0

我在單個輸入中發佈最多4個電子郵件 – Diasline