如何使用phpmailer发送电子邮件到多个地址


how to send emails to multiple addresses using phpmailer

我试图使用php mailer发送电子邮件到多个电子邮件地址,但它不工作。我试过爆炸地址,但似乎都没用。这是我的代码

html:

<input type="text" name="addresses" value="{$addresses}"/>

当前输入输出为test1@gmail.com,test2@gmail.com,test3@gmail.com,

php发送邮件:

/* Get Customer info*/
$sql = mysql_query("SELECT * FROM customer WHERE ID='$id' LIMIT 1");
$sql=mysql_fetch_array($sql);
$fname=$sql['FIRST_NAME'];
$lname=$sql['LAST_NAME'];
$company=$sql['COMPANY'];
$customer_email=$sql['EMAIL'];
$email_addresses=$VAR['addresses'];
if($email_addresses != "" && $customer_email !=""){    
$emailto=$email_addresses;            
}elseif($email_addresses == "" && $customer_email !=""){
$emailto=$customer_email; 
} 
/* Get Email Options */
$r=mysql_query("SELECT * FROM `email` WHERE `ID`=1");
$r=mysql_fetch_array($r);
$emailfrom=$r['EMAIL_FROM'];
$emailpriority=$r['EMAIL_PRIORITY'];
$emailsubject=$r['EMAIL_SUBJECT'];
/* Headers */
$subject = "$emailsubject";
$mailer = "$emailfrom";
$headers = "From: $mailer 'r'n";
$headers .= "Reply-To: $mailer'r'n";
$headers .= "MIME-Version: 1.0'r'n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1'r'n boundary='"PHP-mixed-    ".$random_hash."'"";
$headers .= "Importance: $emailpriority'r'n";
$email = new PHPMailer();
$email->From      = $mailer;
$email->FromName  = $mailer;
$email->Subject   = $subject;
$email->Body      = $message; 
$email->AddAddress( $emailto );
$email->isHTML(true);
$email->Send();

因此,如果我在输入框中有一个收件人,它发送电子邮件,但如果我有多个,并分开他们,它不发送电子邮件。我试过$emailto= explosion (',',$email_addresses);因为我把电子邮件与,但这不起作用。

假设$email_addresses变量中有良好的数据

你需要改变行:

$email->AddAddress( $emailto );

为:

$addr = explode(',',$email_addresses);
foreach ($addr as $ad) {
    $email->AddAddress( trim($ad) );       
}

以前有人问过这个问题,参见这里:PHP mailer多地址

片段:

您需要为每个收件人调用一次AddAddress方法。

1- explosion将返回一个电子邮件地址数组,例如$emailto

2-循环此数组并使用AddAddress方法:

foreach($emailto as $address){
$email->AddAddress($address,[optional:: name]);
}
相关文章: