2011-10-26 42 views
2

我有一个应用程序发送电子邮件给注册用户。这个应用程序在使用某些功能时向用户发送自动电子邮件。另外,在管理员屏幕上,管理员可以将电子邮件发送给所有因任何原因未自动发送电子邮件的人员。我在数据库中存储了一个值,显示电子邮件是否已发送,因此管理员不会将电子邮件发送给已有人。Rails,检查电子邮件是否被发送

问题是:如何检查电子邮件是否正确传递以更新此值?我不是在谈论测试,我需要在方法deliver在电子邮件发送后被调用,或者如果发生任何问题(如连接丢失或电子邮件无效)时检查。有没有什么方法可以做到这一点?

谢谢。

回答

5

当您发送消息并且没有错误发生时,您可以假定邮件已发送(至少您可以假设某个系统接受了发送邮件的责任)。

然而,交付失败的原因很多;有时你可能会在几小时甚至几天后出错。你将需要有一个弹跳的邮件地址,并检查返回的消息。如果您想处理弹跳,请使用弹跳处理(例如phplist)检查开源软件。这并不像你想象的那么微不足道。

另一种选择是通过我们的专用服务发送电子邮件SendGrid。该服务提供的API将允许您检索有关您的消息的信息。

相关问题