我每天都会向客户发送状态更新。客户电子邮件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循环永远不会再次运行。
任何人都可以帮我解决这个问题吗?
谢谢,