你会怎么做?每条评论发布的电子邮件通知


How would you go about doing this? Email notifications per comment posted

这里的方法问题。

每次有人回复您在我的应用程序中留下的评论时,我都会向该人发送电子邮件(如果通知已打开)......

目前,我有一个简单的html php邮件程序,它会通过每个想要电子邮件通知的用户并将其发送出去。

这很好用,但是假设有 5000 人都希望从此评论中获得通知,并且人们每分钟评论一次......这是否会导致PHP将邮件传递到邮件服务器的问题,或者它是否应该能够处理for循环。每 1 分钟发送给所有这些用户?

我错过了一个技巧吗?

可扩展性将是一个主要问题。 但是,更紧迫的是检查您现在拥有的主机。 像GoDaddy和HostMonster这样的大型共享服务将以每小时一定的数量限制您,这在他们的TOS中。 在任何事情之前先回顾一下。

也许你可以编写脚本来做摘要,并在用户每小时有x个活动量时向用户"银行"消息,等等。

最后,考虑到电子邮件不是一门精确的科学,您将无法保证在确切的时间段内或根本无法保证交付。 为了提高可交付性,您必须监控您的服务器,不要连续多次访问服务(例如,如果您每秒向它们发送超过几个,则 AOL 吠叫),并且对各自的域/IP 具有良好的成熟度以增加"信任"

这是可以做到的。 我公司的应用程序每天在三台服务器之间发送数十万封电子邮件。 但这绝不是微不足道的,两位工程师花了一年多的时间才真正稳定下来。

如果您打算像这样发送大量电子邮件,您可能需要考虑使用第三方服务,例如Sendgrid或Postmark。

或者,如果每个人都可以收到相同的电子邮件,则可以发送一封电子邮件,并将收件人作为该电子邮件上的密件抄送。

stackoverflow上,关于此线程上的群发邮件存在分歧,请参阅使用PHP发送群发电子邮件