![使用 SMTP 发送大量电子邮件](https://linux22.com/image/587905/%E4%BD%BF%E7%94%A8%20SMTP%20%E5%8F%91%E9%80%81%E5%A4%A7%E9%87%8F%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我遇到了一个问题。我的情况是,每次请求需要使用 SMTP 发送大约 3000 封电子邮件。但是,只有 30-40 封到达目的地。
您知道可能出现什么问题以及如何解决它吗?作为服务器端脚本,我使用 PHP。
答案1
我为上一份工作创建了一个邮件程序,每周一早上发送 3,000 多封电子邮件(分批发送 50 封,根据邮件大小,各批之间的延迟时间不同)。3,000 封并不是一个特别大的数量,您的系统完全可以轻松处理它。
我怀疑您真正的问题是垃圾邮件。具体来说,除非您的系统配置正确,并且邮件结构和编写正确,否则大多数接收系统都会将它们视为垃圾邮件。搞清楚这些细节,您就没问题了。至于具体细节,那是另一个问题,也是之前已经多次讨论过的话题,无需重复。
答案2
您应该分批发送邮件。批量大小需要测试,但我建议先从 10 到 50 开始,中间会稍有延迟。
如果这不是一个选择,你可以考虑类似的服务http://aws.amazon.com/de/ses/
答案3
答案4
这应该从 cron 运行而不是从 HTTP 请求运行,因为它会超时,所以这样并非所有邮件都将被投递,正如您所描述的那样。