我应该为每个应用服务器设置出站电子邮件服务器,还是设置一个中央服务器?

我应该为每个应用服务器设置出站电子邮件服务器,还是设置一个中央服务器?

我的 Web 应用程序需要发送电子邮件,并且它托管在多台物理服务器上。使用第三方服务不是一个选择,所以我安装了 postfix(或者可能是 sendmail)。

在这种情况下,在中央服务器上安装 Postfix 更常见,还是在每个应用服务器上安装?我认为后者会更容易,需要更少的网络/安全配置(我会使用 chef 或其他工具将其一次性部署到所有机器上)。这种方法有什么缺点吗?

我脑子里闪过一个潜在问题,即这是否会使邮件更有可能被标记为垃圾邮件,但据我所知,我可以为每个服务器设置一个反向 DNS 并缓解该问题吗?还有什么我没有考虑到的吗?

答案1

您不希望每台服务器都发送自己的邮件。通过中央服务器进行中继 - 您将有一个用于记录的参考点、一个与中继 ACL 相关的配置点,以及一个用于在将来必要时安装/配置垃圾邮件检测/预防的单点。

答案2

我建议您在每台服务器上安装本地 MTA,仅接受本地主机上的连接,不一定要求身份验证。然后这些服务器依赖于经过正确配置的中央服务器(PTR、dkim 等...)。

优点:1. 每个应用服务器上的配置相同 2. 添加机器时无需更改 revdns 等 3. 从应用程序角度来看邮件发送速度更快 4. 在中央服务器中断的情况下保持队列

答案3

我最好的建议是通过应用程序使用第三方电子邮件传递系统(例如 SendGrid) - 必须手动配置 postfix 会很麻烦(可以使用 puppet/chef/etc 但不必要的麻烦)尤其是当您所关心的只是保证来自应用程序的交易电子邮件时。

正如其他成员所提到的,当第三方服务无法解决时,中央 SMTP 服务器是最佳选择。

相关内容