我们将使用MailGun或Sendgrid在用PHP编写的Web应用程序上发送电子邮件。
此应用将需要发送以下电子邮件(所有html表单均需要输入验证码):
在大多数情况下,应用程序每秒将有约50个活动用户。每分钟可能有大约15-20封电子邮件...
答案 0 :(得分:1)
如果您排在队列中,如果正在使用的服务(例如MailGun或Sendgrid)已关闭,或者Internet连接断开,或者网络硬件处于混乱状态,则可以忽略错误,然后重试。如果您立即发送但出现错误,除非您将失败的项目排队,否则不会发送这些项目。如果您的解决方案是对失败的项目进行排队,那么为什么不将它们全部排队-似乎是最简单的方法(这是我经常使用的方法)。
您每分钟运行一次的cron作业程序或脚本可以发送邮件。等待2秒,发送更多,等待2秒,依此类推,例如说29次。因此,基本上,您每2秒就会收到一次发送。
以上并不是推测,在非基于云的邮件中继服务器关闭等情况下,我已经中断了数小时,但是当恢复连接时,邮件终于被发送了。
排队的风险是,如果您不能正确处理错误或正确地使电子邮件出队,则可能会轰炸您的收件人。我自己还没有做过,但这是我能想到的最重要的缺点。