1

我有一个 cron 可以生成整个邮件信息并将其放入数据库表中$mail_queue->put(.....),并使用选项在发送电子邮件后删除电子邮件。

这是我需要一点帮助的地方:在获得上述信息后,发送电子邮件的最佳方式是什么?立即运行$mail_queue->sendMailsInQueue(),使用其他 cron 作业或其他什么?

顺便说一下,服务器限制是 100 封电子邮件/分钟。目前没有应用最后一个 csv 差异Mail_Queue(目前正在使用支持),所以我不能使用“延迟”选项。

我有一个使用该$seconds_to_send选项的想法,但它是根据 create_time 字段计算的,这不是一个很大的帮助,但它也是一个选项。

任何想法和建议将不胜感激。

4

3 回答 3

3

就个人而言,我会采用 cron 方式,因为它减少了失败的机会。假设您的邮件服务器停止响应或由于某些其他原因变得不可用。或者,如果您的整个网络离线几个小时,但服务器仍在生成电子邮件,该怎么办。我说使用队列。

至于延迟的事情,只需让服务/cronjob 每六十秒拿起队列,弹出 100 封电子邮件并发送它们,然后退出。您可能会收到要发送的电子邮件队列,但无论您选择哪种系统,这都会发生。无论如何,在非高峰时间队列将清空。

于 2009-08-14T01:27:04.240 回答
2

使用两个脚本。一个用于使用您需要发送的电子邮件填充您的 mail_queue 表,第二个脚本以一次 90 封邮件的形式发送这些电子邮件。将第二个脚本设置为大约每 2 分钟左右激活一次。

您也可以升级您的托管计划;-)

于 2009-09-16T22:00:12.400 回答
0

为什么你不循环浏览 100 封电子邮件并睡 60 秒。这不会花费您任何服务器时间,唯一的缺点是您的脚本运行时间更长。

于 2009-08-14T00:28:15.153 回答