PHPMailer将多次邮件发送给同一个收件人

时间:2016-12-23 07:58:35

标签: php email

我正在使用PHP Mailer功能发送邮件。为了向多个收件人发送邮件,我按照以下方式使用for循环: -

 for($i=0;$i<count($com_string_array);$i++)
 {
    $soc_memb_comm_info = explode(",",$com_string_array[$i]);
    $mailing->send_mail_with_attachment($soc_memb_comm_info[4],           
    $soc_memb_comm_info[3],$upload_path,$file_name,$message);
 }
   public function    
   send_mail_with_attachment($to,$full_name,$file_path,$file_name,$message)
{ 
 //Other configuration parameter of PHP Mailer.
 $this->AddAddress($to);    
 $this->Subject = "Welcome ";
 $this->Body    = $message;
 $this->AltBody = $email_msg;
 $this->AddAttachment($file_path,$file_name);
 if(!$this->Send())
 {
 echo "Message could not be sent. <p>";
 echo "Mailer Error: " . $this->ErrorInfo;
  exit;
 }

我的问题是,邮件的乘数倍数是相同的收件人。例如。如果我向三个人发送邮件,那么第一个人就会收到三次邮件。 1.直接对第一人称。 2.直接向第一人称,第二人称。 3.直接面向第一人,第二人和第三人。

Kindy建议为什么会出现这样的问题。

1 个答案:

答案 0 :(得分:3)

每次使用此功能发送时,您使用的邮件程序都不会重置。因此,当您第二次调用send函数时,第一个收件人仍然存在,以及第一个附件。你没有提到附件,但我想在第二封邮件中,附件会有两次。

您必须使用PHPMailer的新实例,或者在发送邮件之前清除所有收件人和附件。

$this->clearAllRecipients();
$this->clearAttachments();