【发布时间】:2013-02-12 22:28:24
【问题描述】:
我有网络应用程序,我想实现电子邮件系统。我的 Web 应用程序是一个社交网络:当用户更新状态并且任何其他用户对其状态发表评论时,用户会收到电子邮件。
实现它的最佳方法是什么?在用户发表评论后,我一直在实施电子邮件系统,然后我同时向他们的用户发送电子邮件。使用计划发送电子邮件的第二个选项。
我正在使用 PHP 和 SwiftMailer。
澄清一下:我应该直接向用户发送电子邮件,还是应该使用数据库来排队邮件并通过 cron 发送?
【问题讨论】:
-
两个想法:最重要的是,使用 Swiftmailer 之类的库。其次,在您的数据库中对电子邮件进行排队,这样您就可以看到您发送给谁的内容,并且您可以重新发送任何失败的邮件(例如,如果您的 SMTP 服务出现故障)。
-
感谢您的回答,是的,我正在使用 swift mailer。你知道如何检测邮件发送成功与否,如果邮件发送不成功我可以重新发送。
-
我建议使用库,因为您在原始问题中没有提到它。是的,我会使用队列。如果 SwiftMailer 无法联系您的 SMTP 服务器,我应该认为它会引发异常 - 抓住它并在相关的数据库记录中标记它。
-
我的问题仍然不清楚,发送邮件库仅检测错误的身份验证和错误的电子邮件格式等,而不是检测用户端是否收到电子邮件。 ex 被拒绝,因为 1) 发件人是垃圾邮件 2) 收件人是假的但格式正确的电子邮件
-
我认为this 是您需要的,使用this search 找到。请记住,您只能在联系收件人的 SMTP 服务器时检测邮件是否退回 - 如果它被接受并且后来被垃圾邮件(这不是退回,即使它生成对一个容易伪造的地址的回复)然后你无法检测到这一点。
标签: php web-applications architecture swiftmailer