我需要向每位约200位用户发送包含更新网站内容的每日电子邮件。我设置它的方式是每20个用户发送一封电子邮件(所有BCC),因此只发送大约10封电子邮件。我正在使用Wordpress wp_mail()函数与WP-Mail-SMTP插件一起发送,以便使用预先配置的gmail帐户发送电子邮件。大约一个星期前一切正常。现在,在发送5封电子邮件后,剧本突然中断了。
//SEND THE EMAIL TO 20 USERS AT A TIME
foreach ($users as $user) {
array_push($mailgroup, $user->user_email);
if(count($mailgroup) == 20) {
$headers = $headersBase . 'Bcc: '. implode(',', $mailgroup);
wp_mail('', 'Email Update', $strBody, $headers);
$sentEmailCount++;
$headers = '';
$mailgroup = array();
}
$sentUserCount++;
}
我认为原因是发送的最终消息中的电子邮件地址被反弹,然后无论出于什么原因循环停止。有没有办法忽视任何错误,只是继续循环,无论电子邮件是否反弹?
答案 0 :(得分:1)
这最终成为gmail为外发电子邮件设置的配额问题。我使用的插件将wp_mail()函数设置为使用SMTP帐户来发送邮件。就我而言,我使用的是Gmail帐户。看起来好像gmail不允许在一段时间内发送超过100个外发消息。我在每封电子邮件中每20个用户(所有用户都是bcc'd)发送1封电子邮件。在轰炸之前,我只通过电子邮件循环5次(100个用户)。该死的gmail。
我的修复是设置一个Mandrill.com帐户(免费),安装Mandrill Wordpress插件(免费),配置它,就是这样。现在我的wp_mail()函数使用Mandrill发送消息,似乎没有限制。不需要修改我的脚本。