除了性能之外,还有其他因素需要考虑,但简短的回答是:有更好的选择。Amazon SES 和 MailChimp 是我所知道的两个收到了积极反馈的公司。
查看 j08691 关于性能的答案,但mail()
用于此目的的其他问题包括:
可扩展性(你会遇到任何 SMTP 服务器最终都无法处理的问题,而且你已经在考虑它了)
完整性 - 在滚动您自己的群发邮件时,您更有可能被标记为垃圾邮件,尤其是mail
在使用本地 sendmail 时。
成本/收益和投资回报率 - 可靠的群发邮件以具有竞争力的价格正确处理。在某些时候,当您的邮件服务器崩溃、退出黑名单、手动编写电子邮件布局、一般维护等等时,您每小时支付的费用比您为群发邮件服务支付的费用要少。
总体而言,最大的问题是您必须自己完成所有工作,并且您可能会被标记为垃圾邮件,因为您无需支付每秒能够发送数百封电子邮件而不是一分钟发送一百封电子邮件的服务。当 PHP 不忙于为您的 Web 应用程序处理其他所有事情时。
个人轶事(不是对 SES 的认可,只是群发邮件):我们有一个客户,每个活动发送 10 万多封电子邮件,每天最少 1-3 个活动。他们开始抱怨客户迟到了 2 天才收到有关“每日交易”的电子邮件。这不是因为 Mailer 库很慢(甚至这个应用程序也避免使用 plain mail
),而是因为它无法确保在电子邮件无关紧要之前发送每个活动的所有电子邮件。我们将他们切换到 SES(我们最终进行了一些优化,但不多),他们可以在一小时内清除一个广告系列。