我使用phpMailer发送电子邮件与亚马逊SES,我的代码完美。当我试图影响多个这样的地址时,我会发送电子邮件到多个地址 $ to =&#34; abc @ gmail.com,def @ gmail.com&#34 ;; < / strong>它无法正常工作,我收到此消息错误:邮件程序错误:您必须至少提供一个收件人电子邮件地址。但是当我只有一个地址时,它已经工作了。如何将电子邮件发送到多个地址?
$account="username";
$password="password";
$to="abc@gmail.com";
$from="peter@gmail.com";
$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 :(得分:1)
您必须为要添加的每个电子邮件地址使用addAddress。
$mail->AddAddress('person1@domain.com');
$mail->AddAddress('person2@domain.com');
$mail->AddAddress('person3@domain.com');
答案 1 :(得分:1)
您可以制作包含所有电子邮件的数组并执行foreach循环。
$to = $_POST['name'];
$emails = explode(',',$to);
$emails = array(
"email@email.com",
"email2@email.com",
"email3@email.com",
"email4@email.com",
"email5@email.com",
"email6@email.com",
"email7@email.com"
);
foreach ($emails as $email){
$mail->AddAddress($email);
}