从rails中的用户电子邮件地址发送电子邮件的最可靠方式?

时间:2011-03-11 00:03:04

标签: ruby-on-rails email sendmail actionmailer sendgrid

我想允许用户通过他们的电子邮件地址发送我的rails应用中生成的电子邮件。

我知道我可以使用我的服务器sendmail,并将发件人地址设置为他们的电子邮件地址,但电子邮件很可能被标记为垃圾邮件。

有更好的方法吗?我可以使用sendgridAmazon SES还是让用户输入自己的SMTP详细信息。

非常感谢任何建议或最佳做法。

3 个答案:

答案 0 :(得分:5)

亚马逊SES对于此用例是不可能的:在作为特定电子邮件地址发送之前,它们需要授权程序。

即使您提示他们提供SMTP服务器详细信息,也会将巨大的红色标记引发给任何有能力的用户。大多数SMTP服务器都已正确配置为在SMTP事务期间要求身份验证,或者需要最近的POP3或IMAP连接,这意味着收集用户凭据。您是否想要让您的用户使用他们的电子邮件密码信任您?

总的来说,这实际上是一个非常糟糕的主意,特别是考虑到电子邮件作者证明技术,如SPF / Sender ID。通过非授权服务器以这种方式发送的邮件越来越可能被(正确地)标记为垃圾邮件。

您的用例是否允许邮件为“来自”您的应用程序,但是有“回复”用户?

答案 1 :(得分:5)

我相信SendGrid支持自定义发件人地址。 Heroku将它们作为附加组件提供,并宣传“完全控制来自:地址”。在add-ons page

答案 2 :(得分:5)

面对SPF,这将失败。 SPF本质上是一种域称“来自域的电子邮件只会从这些服务器发送”的方式,因此如果您发送来自用户的电子邮件,来自您服务器的域名,任何进行SPF检查的人都可能将您的邮件标记为垃圾邮件。

基本上:如果邮件不是来自发件人,请不要使用From标题,而是使用Sender标题。