抛开垃圾营销的不屑不谈,我需要向客户发送大约15,000封电子邮件。我的同事曾试图通过php邮件循环发送它们,但很明显它很快就卡住了。有没有一种常规的方法(即通过PHP脚本)来快速实现这一点?如果没有,你建议我如何在没有太多开销的情况下完成这项工作(可能是通过exec)?
谢谢!
发布于 2011-03-03 18:29:40
我曾经使用PEAR的Mail_Queue一次对200,000+邮件进行排队。填充数据库是简单而快速的,即使有定制的内容,然后一个相当简单的脚本一次发送大约250个-如果平均负载不是太高的话。然后它循环并发送下一批。
您不会以比通常可能的速度更快的速度发送它们,但它将不会出现任何问题。
tutorial几乎为您提供了所需的一切--只需循环“send_messages.php”脚本(从命令行更好),直到数据库队列为空。
发布于 2011-03-03 18:22:27
您可以考虑使用类似于Gearman的东西来创建一个推荐的here队列系统。另一种选择是考虑像Amazon's Simple Email Service (SES)这样的付费服务
发布于 2011-03-03 18:15:13
无论您如何实现即时交付:这将是一个漫长的过程,总是会受到中断的影响,并且您无法承受重新开始交付并将相同的消息发送两次给5000个客户。
我相信一个可靠的系统必须使用队列。主脚本只需将收件人添加到队列中,然后您就有了一个辅助进程,该进程从队列中挑选项目,发送它们,最后将它们标记为已发送。这个辅助进程可以手动启动(可能是从命令行启动),也可以通过cron选项卡启动。
我从来没有用过,但我的书签里有这个:http://ledscripts.com/free/php/phpledmailer
https://stackoverflow.com/questions/5179168
复制相似问题