在EC2上使用弹性负载均衡器的电子邮件服务器

7

假设我有几个带有弹性负载均衡器的EC2实例,我想在它们上面运行一个电子邮件服务器,以便可以从多个地址发送和接收电子邮件。最佳实践是什么?

2个回答

4
这是一个比较宽泛的问题,但我可以给你一个(希望有用的)具体答案。在AWS中,电子邮件是一个很少被讨论的话题。实际上,在这里,云计算的好处可能会有些模糊。
在我看来,关键问题是电子邮件的可投递性——确保从云端发送的电子邮件能够可靠地被预期的收件人接收到。由于电子邮件提供商采用了反垃圾邮件措施,这意味着使用声誉良好的IP地址。不幸的是,这并不是AWS的一个重大优势。事实上,许多垃圾邮件过滤器会直接丢弃从AWS IP地址发送的电子邮件,其他云服务提供商也是如此。
因此,每当我从AWS发送任何电子邮件时,我总是使用转发服务,例如SendGrid。这些公司以安全的方式提供SMTP转发,并为您提供可靠交付批量和交易电子邮件所需的所有工具。
在入门级别上,您使用共享IP,并获得DKIM、打开和点击跟踪以及退信/阻止报告的好处。SendGrid帮助管理您的域名声誉与大型提供商。在更高的服务级别上,他们可以帮助您预热和维护自己的专用电子邮件发送IP地址,以确保其他SendGrid客户不会对您产生负面影响。
当然,亚马逊也销售简单电子邮件服务,并且还有其他选项,例如通过Gmail发送。我与这些公司没有任何关联,但是我向想要从云提供商发送任何类型的电子邮件的人提供的主要建议是始终使用第三方服务以最大化可交付性。
至于接收电子邮件,弹性负载均衡器对SMTP没有帮助,但如果您提供Webmail,则可以帮助平衡80端口流量。对于SMTP,请使用多个MX记录,权重相同,指向一组可以接收电子邮件的主机。
对于您的邮件传输代理,我推荐Postfix,但这是个人偏好问题。您会发现许多人也推荐Qmail和Sendmail。

3

关于在“云”中(即AWS)接收电子邮件的问题,我同意@platforms的大部分回答,特别是关于平衡端口80流量和无法平衡SMTP(使用多个MX记录代替)。只是为了给出不同的观点,我一直为这些任务设置了单个MS Exchange Edge Transport Server。在Microsoft TechNet帖子中,他们提到6个这样的服务器的农场能够安全地处理每天约1300万条消息(即使在高峰期下也是如此)。

关于从“云”中(即AWS)发送电子邮件的问题,我必须持有不同的看法。我强烈建议使用Amazon Simple Email Service(SES)。它与您的基础架构完全集成,而AWS SDK具有大多数编程语言/平台所需的所有绑定。只要正确设置您的域记录、DKIM等,您就不会遇到交付问题。您还可以获得有关退回、阻止、投诉等方面的相同报告。来源:多年来我一直使用SES,没有任何关于交付的单一投诉。


感谢您指向SES - 亚马逊有很多服务,我没意识到还有一个用于电子邮件的。 - Peter Ajtai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接