如何使用PHPmailer开发新闻稿?

时间:2014-04-29 19:55:09

标签: php phpmailer

我开发了一个新闻通讯系统,我使用PHPmailer课程。

我有存储在数据库中的邮件列表。它大约有2000个电子邮件地址。

我想一次发送大约100-200封电子邮件,因为我确信我不能一次发送所有2000封电子邮件。有更好的cron工作方式吗?这是代码。

if($emailList = complexSelectQuery("SELECT email, hash FROM newsletter WHERE state='1'")){
    foreach($emailList as $email){
        $mail->msgHTML(createTemplate(1, $email['hash'], $message_id));
        $mail->AddBcc($email['email']);
        if (!$mail->send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Message sent!";
        }
    }
}

注意:它适用于小型电子邮件列表。

1 个答案:

答案 0 :(得分:0)

要发送大量邮件,您必须关注服务器的每日发送限制。

您可以安排cronjob来运行脚​​本并更改SQL添加限制条款

  1. 选择状态为1且错误= 0
  2. 的所有邮件
  3. 如果发送成功,则将消息状态更改为0
  4. 如果发送错误将错误状态更改为1,则可以选择添加一个字段来存储发送的错误消息
  5. 这样做,您将避免选择获取因错误而无法发送的消息,并且能够跟踪这些错误并尝试稍后修复/重新发送这些消息