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

Dav*_*low 7 email sendmail ruby-on-rails actionmailer sendgrid

我想允许用户从他们的电子邮件地址发送我的rails应用程序中生成电子邮件.

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

有一个更好的方法吗?我可以使用sendgridAmazon SES或让用户输入自己的SMTP详细信息.

任何建议或最佳实践将不胜感激.

Cha*_*les 5

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

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

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

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

  • GMail旨在成为一个在线邮件用户代理,而不仅仅是谷歌邮件服务的网络界面 - 这就是他们和Outlook.exe这样做的原因. (2认同)

leb*_*eze 5

我相信SendGrid支持自定义发件人地址.Heroku将它们作为附加组件提供,并宣传"完全控制From:地址".在他们的附加组件页面上


nic*_*rim 5

面对SPF,这将失败.SPF本质上是一种域名,表示"声称来自域的电子邮件将仅从这些服务器发送",因此如果您从服务器发送来自该域的用户的电子邮件,则执行SPF检查的任何人都是可能会将您的邮件标记为垃圾邮件.

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