2013-02-27 188 views
0

我有web应用程序,我想实现电子邮件系统。我的Web应用程序是一个社交网络:当用户更新状态时,用户会收到电子邮件,而任何其他用户都会对其状态进行评论。实现电子邮件发送的最佳方式是什么?

什么是最好的实现方式?在用户发表评论后,我一直在实现电子邮件系统,然后同时向他们的用户发送电子邮件。第二种选择是使用计划发送电子邮件。

我使用PHP和SwiftMailer。

为了澄清:我应该直接发送电子邮件给用户,或者我应该使用一个数据库来排队的邮件,并通过cron发送?

+1

两个想法:最重要的是,使用Swiftmailer等库。其次,在您的数据库中排队发送电子邮件,以便您可以查看发送给谁的信息,并且可以重新发送任何失败的信息(例如,如果您的SMTP服务发生故障)。 – halfer 2013-02-27 07:44:30

+0

感谢您的回答,是的,我正在使用迅捷的邮件。你知道如何检测邮件是否成功发送,所以如果邮件没有成功发送,我可以再次发送。 – viyancs 2013-02-27 07:59:10

+0

我建议使用一个库,因为你在原始问题中没有提到它。是的,我会用一个队列。如果SwiftMailer不能联系你的SMTP服务器,我会认为SwiftMailer会引发异常 - 在相关的数据库记录中捕获并标记它。 – halfer 2013-02-27 09:05:43

回答

0

请尝试phpmailer库函数

0

您也可以尝试PostageApp。

http://postageapp.com/

+0

我觉得主要的问题不是我如何选择库发送邮件。请再次看我的问题我已经更新我的问题,谢谢:) – viyancs 2013-02-27 08:08:01

0

我的建议是使用邮件服务与API,如Sendgrid的大量邮件(> 100每天),否则只需使用你选择的PHP邮件。

通过自己的服务器发送邮件有几个缺点,主要涉及到越来越列入黑名单或标记为垃圾邮件。这是因为其他邮件服务器并不真正了解你的邮件服务器,如果突然出现很多邮件,你会看起来像一个垃圾邮件。

为了避免一次发送大量的邮件,你也必须以某种方式通过排队分批发送,和你需要cron作业和等。获取未列入黑名单的也不是很容易的,简单域的变化可能会让你重新认定

邮件服务做你摆脱这些问题的大部分,并且是整体相当便宜。了解内部邮件解决方案的陷阱通常对于单个项目来说太多了,因为它是一个相当大的话题。

免责声明:我不为任何邮件发送服务的工作,我只是碰巧在了他们的域名列入黑名单最近由于恶劣发电子邮件做法的工作场所。

相关问题