Phpmailer - 独特的电子邮件附件

时间:2014-03-11 09:10:43

标签: php sql email phpmailer

我正在尝试发送多封具有独特附件的电子邮件。目前,我成功地将多封电子邮件发送到数据库中的不同地址。

问题:每当我发送电子邮件时,每封发送的电子邮件都有多个附件。

应该是什么:电子邮件应该只有1个唯一附件。比如,abc @gmail.com应该附加abc.pdf,bnm @ gmail.com应该附加bnm.pdf等等。

到目前为止,我有以下代码。也许它在我的循环中引起问题,或者其他什么。如果您有任何想法,请发表评论。感谢。

$email = "select si.email_address, sr.control_no  
            from sa_student si
            left join sa_result sr on sr.control_no = si.control_no
            where schoolyear = '2013'
           ";

if ($p_address=mysql_query($email))
{ 

  while($row = mysql_fetch_array($p_address))
  {

   $mail->AddAddress($row['email_address']);

   $mail->AddAttachment("fpdf/pdf_reports/docu/".$row['control_no'].".pdf");

   }

$mail->Send();

$mail->ClearAllRecipients();

$mail->ClearAttachments();

}

1 个答案:

答案 0 :(得分:1)

您必须将clearsend方法移动到while循环中:

$email = "select si.email_address, sr.control_no  
        from sa_student si
        left join sa_sase_result sr on sr.control_no = si.control_no
        where schoolyear = '2013'
       ";

if ($p_address=mysql_query($email))
{ 
   while($row = mysql_fetch_array($p_address))
   {
       $mail->AddAddress($row['email_address']);
       $mail->AddAttachment("fpdf/pdf_reports/docu/".$row['control_no'].".pdf");
       $mail->Send();
       $mail->ClearAllRecipients();
       $mail->ClearAttachments();
   }
}