我们有EC2上托pipe的Web应用程序。 我们使用两台Ubuntu服务器:一台是Web服务器,另一台是数据库服务器。 Web服务器已分配公共弹性IP。 现在我们要发送来自应用程序的通知邮件(关于其他用户所做系统更改的通知)。 最简单的解决scheme是在Web服务器上安装postfix SMTP服务器,并在Amazon电子邮件服务器registry单中注册其Elastic IP(这样他们注册反向DNS,删除邮件传输限制等)。 我希望这应该没有太大的问题(纠正我,如果我错了)。
如果Web服务器上的负载增加,我们计划启动额外的带有Web服务器副本的EC2实例,将Amazon的负载平衡器设置在它们前面,并将Elastic IP重新映射到此负载平衡器 – 以便从外部看起来仍然像单个服务器。 但是,与SMTP服务器呢?
我认为最好的解决scheme是在每台Web服务器上运行本地postfix服务器 – 这样,每台Web服务器上运行的应用程序总是通过localhost与本地postfix服务器联系。 但是,从外部看,由于一个公共IP,它将看起来像一个运行的邮件服务器。 但是我不是SMTP专家,发送邮件的过程如何等等。
也许我不知道会导致这样的设置中断的事情。 你觉得呢,这个方法好吗?
我的印象是,许多(所有)AWS IP已经被列入黑名单,所以从它们发送的邮件的可发送性不会很好。
另外,使用AWS主机作为邮件服务器对我来说似乎是一个不好的select,因为它可能随时消失 – 与未传送的电子邮件一起。
让每个AWS主机将邮件交给支付处理您的出站邮件的服务,或者您控制的VPS或传统服务器(大约24×7可用)将更有意义。 这将使设置SPFlogging变得容易得多,从而最大限度地提高有人看到你的邮件的机会。
您可能会看看SMTP服务的build议,以便进行大规模邮件发送或Sendmail转发出亚马逊EC2? 为更多的想法。
我想我已经知道了答案。 这将无法正常工作,因为smtp服务器将直接发送邮件,而不是通过弹性负载均衡器进行隧道传输。 因此,他们的IP将不同于分配给负载均衡器的公共IP,而反向DNS不匹配,因此邮件可能会被标记为垃圾邮件。 所以它看起来像我需要一个恒定IP的服务器运行SMTP服务器。