使用PHPMailer发送简报(多个蒙面收件人没有BCC)

时间:2013-07-10 01:50:52

标签: php phpmailer

我想使用PHPMailer向1000个左右的收件人发送简报。我目前正在使用addBCC来循环添加每个地址。新闻通讯发送正常,但当我的订阅者收到它时,“收件人”字段显示我设置为填充的地址,而不是他们自己的地址。

我正在考虑更改为这样的代码:

$mail = new PHPMailer();
$mail->SetFrom('info@domain.com', 'Domain.com');
$mail->Subject = $subject;
$mail2->MsgHTML($body);

while ($row = mysql_fetch_array ($result)) {
    $mail2 = clone $mail;
    $mail2->AddAddress($row["email"]);
    $mail2->send();
}

但它似乎比BCC方法慢得多且效率低。是否有更好的方式发送到列表,以便每个用户收到带有正确“到”地址的电子邮件,并且无法访问其他用户的电子邮件?

1 个答案:

答案 0 :(得分:2)

您不需要克隆PHPMailer;一个实例就足够了。只需清除每次循环时发送的地址。

$mail = new PHPMailer;
$mail->setFrom('info@domain.com', 'Domain.com');
$mail->Subject = $subject;
$mail->msgHTML($body);

while ($row = mysql_fetch_array ($result)) {
    $mail->addAddress($row["email"]);
    $mail->send();
    $mail->clearAllRecipients();
}

您可能还希望对send()执行一些错误检查,并且您不应再使用mysql*函数。