簡體   English   中英

PHP使用Amazon SES將電子郵件發送到多個地址

[英]PHP Send emails to multiple addresses with amazon SES

我使用phpMailer發送帶有Amazon SES的電子郵件,我的代碼工作正常。 當我嘗試影響多個地址,例如$ to =“ abc @ gmail.com,def @ gmail.com”時,我就無法將電子郵件發送到多個地址 它不起作用,並且我收到此消息錯誤: Mailer錯誤:您必須至少提供一個收件人電子郵件地址。 但是當我只有一個地址時,它就起作用了。 如何將電子郵件發送到多個地址?

$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";
  }
 ?>

您必須對要添加的每個電子郵件地址使用addAddress。

$mail->AddAddress('person1@domain.com');
$mail->AddAddress('person2@domain.com');
$mail->AddAddress('person3@domain.com');

資料來源: https : //stackoverflow.com/a/3149528/1790315

您可以將所有電子郵件組成一個數組並執行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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM