从VPS(如EC2)发送电子邮件

我正在部署一个将从EC2服务器发送电子邮件(结帐确认,警报等)的rails站点。 什么是成功做到这一点的最佳做法?

我认为有两件事情

  • 在selectSMTP提供商时(谷歌应用程序与付费服务?)权衡
  • 正确的DNS和服务器设置,使您的电子邮件被标记为垃圾邮件的可能性降低

指向任何资源非常感激。

谢谢!

曾多次表示 EC2实例对电子邮件服务不好。 原因在于过去垃圾邮件发送者滥用亚马逊的IP范围,垃圾邮件发送者只是租用EC2实例几个小时发送垃圾邮件。 因此,亚马逊IP现在应该在基于IP地址的DNSBL中承担负面的声誉。

我不能说上述关于亚马逊IP是完全正确的。 你可以做的是用MXToolbox的检查工具validation你的IP地址。

如果您决定在EC2上设置邮件服务器,那么可以在本网站上寻找最佳实践。 我这个绝对必须做的(可以有更多)的短名单是:

  • 为您的SMTP服务器设置反向DNS。
  • 为您的域名设置SPFlogging。
  • 仔细检查您的SMTPconfiguration。 不幸的是,有相当多的寻找。 在我看来,最重要的是:a)你的HELO标题是正确的。 b)您的SMTP服务器只会向经过身份validation的用户发送电子邮件。

有关最佳实践的更全面讨论,请参阅此大型堆栈溢出线程 。

反向DNS通常由网路所​​有者(即亚马逊)处理。 从亚马逊看到这个反向DNS 。

如果您的IP地址发生变化,上述内容将不得不重新进行。 所以一定要在亚马逊的云中获得一个永久的知识产权。 总而言之,我不认为云托pipe是SMTP服务的理想select。

对于EC2网站,我已经按照这个页面发现它工作的很好。 他们甚至提供了一个完整的EC2包,如果你想开始使用预先构build一个。

一些关键的事情要记住,包括在您的DNS条目中设置一个SPF地址,并设置RDNS,并最终禁用SMTP服务器中的继电器

除此之外,你是一个完全欢迎的SMTP社区的成员。

我会通过encryption的身份validation连接,将EC2实例发送的电子邮件发送到您拥有并监视列入黑名单的地址空间上的非EC2中继。

那么它实际上可能有被交付的机会。

您不能依赖EC2实例的IP地址信誉,也不能将其从黑名单中删除(有时需要certificate您拥有IP地址块)


另外,你不能依靠一个EC2的实例有一个光盘不会消失没有警告,所以你排队的邮件可能随时消失。

我现在正在这样做; 这是不理想的。 特别是因为反向DNS在EC2上不可行(亚马逊不会让你修改它)。

我必须从主动添加亚马逊所有空间的几个RBL中删除我的IP地址(“弹性”地址),但到目前为止它工作正常(我必须密切关注拒绝)。 我最近没有看到很多拒绝。

最终,我可能会将服务移动到AuthSMTP或类似的。 我也build立了一个托pipe的Gmail帐户,但是我不确定这个帐户是否还能工作(Rails开发者没有重新configuration应用程序给它一个镜头)。 我认为authentication(Gmail需要安全authentication,我相信)可能会造成问题。

Mark对磁盘消失的评论是正确的,但是您可以通过使用EBS支持的卷来缓解这种情况。

如果填写此表单并包含弹性IP地址,则除非您真正开始向他们发送垃圾邮件,否则您的IP地址将不会列入黑名单(几天之后)。

https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request

默认情况下,由于EC2的IP地址具有dynamic性,因此在大多数垃圾邮件列表中都被列入灰名单。 提交上面的请求将使你的IP地址不灰色列出。

曾多次表示EC2实例对电子邮件服务不好

这已经改变了! 似乎AWS有这个问题在控制之下。 如果您想发送更多的电子邮件,您现在必须联系支持,以便他们可以为您解锁:

http://aws.amazon.com/contact-us/ec2-email-limit-request/

他们现在也支持反向DNS条目。

结果:我们没有电子邮件发送问题:-)