使用PEAR / Mail_Queue发送10,000多封电子邮件的最佳方式

时间:2009-08-14 00:21:10

标签: php email pear mailing-list mail-queue

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

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

顺便说一句,服务器限制是100封电子邮件/分钟。目前,Mail_Queue的最后一个csv diff未应用(目前正在使用该支持),因此我无法使用“延迟”选项。

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

任何想法和建议都会非常感激。

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

使用两个脚本。一个用于使用您需要发送的电子邮件填充您的mail_queue表,另一个用于一次性发送90封邮件中的电子邮件。设置第二个脚本大约每2分钟激活一次。

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

答案 2 :(得分:0)

为什么你不要循环通过100封电子邮件并睡60秒。这花费你没有服务器时间,这是你的脚本运行一段时间的唯一缺点。