如何解决交错发送电子邮件
| 以编程方式来讲,在避免PHP超时的情况下,一种简单直接的方法是分隔发送大量电子邮件的方式?这是为了联系属于该站点的数千名成员。 P.S:考虑将邮件拆分为N个电子邮件地址,并以某种方式自行调用脚本的想法。解决方法
如果要发送给订阅该网站的所有人,则可以执行以下操作:
添加一列(如果尚未添加)
存在)在用户表上
例如\'email_sent \',默认为1
(是的)
当您执行电子邮件发送时
触发,更新所有用户记录
将\'email_sent \'标志设置为0
(否)。
设置一个执行任务的cron作业
PHP脚本(甚至访问您的网络)
服务器使用指定页面
执行脚本),然后
选择前N个具有
\'email_sent \'设置为0,发送给他们
电子邮件,然后更新\'email_sent \'
成功的每一列都设为1。
如果要处理多个邮件,则需要跨另一个表维护用户:mailout关系和“ email_sent \”状态。
, 最简单的方法是在每发送x封电子邮件后睡几秒钟:
$count = 0
while (foo) {
send_email();
if ($count++ == 100) {
sleep(10);//sleep for 10 seconds
$count = 0;
}
}
, 您始终可以尝试使用sleep命令或手动交错的cronjobs,但更好的选择可能是查看建立的库来为您处理详细信息:PEAR Mail_Queue
Mail_Queue类将邮件放入
临时容器,等待喂食
到MTA(邮件传输代理),以及
稍后再发送给他们(例如
每几分钟的邮件数量)
crontab或其他方式。
如果您可以选择的话,也有许多公司会为您提供所有这些服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。