邮件通过电子邮件发送给50,000-100,000个订阅者

时间:2009-06-10 00:08:39

标签: performance email smtp swiftmailer

我想开发一个邮件列表应用程序,该应用程序需要能够处理一次向 50,000-100,000 订阅者发送邮件。

Swiftmailer的batch send method可以处理吗? 对于电子邮件/ SMTP /邮件服务器,我是一个简单的东西 - 开发此应用程序时需要注意的其他事项是什么?

2 个答案:

答案 0 :(得分:5)

我在我的日子里写过一个或三个邮件应用程序。根本无法评论swiftmailer,但有些事情需要牢记:

1)此规模的列表是长期运行的操作。如此长时间以来,它们实际上根本不应该由Web进程处理,而是作为某种批处理作业。

2)有时某种事情会搞砸并切断要发送的东西。这意味着您的邮件应用程序应该能够a)知道它在做什么,以及b)能够在任何时候重新启动自己。

3)与#2相关 - 有很多仪器和登录这只小狗。您需要能够弄清楚这个长时间运行的批处理过程何时搞砸了,以及为什么在某些时候。

因此,基本上,关注的关键是使批处理作业位工作。究竟什么电子邮件发送引擎几乎是次要问题。

答案 1 :(得分:2)

虽然我通常是Swiftmailer的忠实粉丝,但我不一定会推荐它用于大型的列表。我有一个网站已发送超过一年的会员通知超过一年,现在使用PEAR MailMail_Queue没有任何问题。

基本上,消息排队等待传递(存储为MySQL数据库中的记录),然后cron作业在整个晚上定期运行,以可管理的批次发送(使用php CLI)。

回答原始问题的第2部分,since moved here )至于追踪:

  • 我不知道反弹。
  • 我认为跟踪“打开”的唯一方法是在服务器中包含一个图像文件(在电子邮件中),然后您可以跟踪请求。我没有这种方法的经验,但听说它不可靠 - 加上它提出的道德问题......
  • 跟踪点击的最简单方法可能是在重定向到相关网址之前,通过自己的服务器运行它们。再次,道德......