php循环播放器只运行一次

时间:2015-07-27 18:06:44

标签: php email while-loop smtp phpmailer

我每天都会向客户发送状态更新。客户电子邮件ID位于DB中。我正在使用while循环来获取数据并逐个发送更新。

但只发送一封邮件。发送第一封邮件后,脚本将停止执行。

这是我的代码:

$result=mysqli_query($db,"SELECT email_update_status_c, email_update_business_c, email_id1_for_update_c, email_id2_for_update_c, id_c, content FROM cases_cstm");


//include PHPMailer
require '../test/PHPMailerAutoload.php';

while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC)) {

    if($row['email_update_status_c'] == 1 || $row['email_update_business_c'] == 1) {

        $mail = new PHPMailer;

        $content = $row['content'];
        $subject = 'Document Request for ' . $row['subject'];

        $mail->SMTPDebug = 3;
        $mail->isSMTP();     
        $mail->Host = 'smtp.critsend.com'; 
        $mail->SMTPAuth = true;            
        $mail->Username = 'my_user_id';
        $mail->Password = 'password';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;

        $mail->From = 'no-reply@mysite.com';
        $mail->FromName = 'Internal Underwriting';

        foreach ($email_address as $to) {
            $mail->AddAddress($to);
        }

        $mail->Subject = $subject;
        $mail->Body    = $content;
        $mail->IsHTML(true);
        $mail->Send();
    }
}

请注意,我正在使用暴击服务。

观察

看起来$ mail-> Send()会打开并关闭smtp连接。发送第一封邮件后,连接将关闭,而while循环永远不会再次运行。

任何人都可以帮我解决这个问题吗?

谢谢,

0 个答案:

没有答案