我正在尝试发送多封具有独特附件的电子邮件。目前,我成功地将多封电子邮件发送到数据库中的不同地址。
问题:每当我发送电子邮件时,每封发送的电子邮件都有多个附件。
应该是什么:电子邮件应该只有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();
}
答案 0 :(得分:1)
您必须将clear
和send
方法移动到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();
}
}