我的Web应用程序必须发送电子邮件,并且托pipe在多个物理服务器上。 使用第三方服务不是一个选项,所以我正在安装postfix(或者也许是sendmail)。
在这种情况下,在中央服务器上安装postfix还是安装在每个应用程序服务器上更常见? 我会想象后者会更容易,需要较less的networking/安全configuration(我会使用厨师或其他东西一次部署到所有机器)。 这种方法有缺点吗?
我想到的一个潜在问题是它是否会使邮件更容易被标记为垃圾邮件,但是AFAICT我可以为每个服务器设置一个反向DNS并缓解这个问题? 还有什么我不考虑?
你不希望每个服务器发送自己的邮件。 通过中央服务器进行中继 – 您将拥有一个指向日志logging的单点,一个关于中继ACL的单点configuration,以及将来如有必要安装/configuration垃圾邮件检测/预防的单点。
我build议你在每台服务器上安装本地MTA,只接受本地主机上的连接,不一定要求authentication。 这些服务器然后依靠中央服务器,正确configuration(PTR,DKIM等)。
优点:1,每台应用服务器上都有相同的configuration2,无需更换机器等等3,从应用程序的angular度来看,更快的邮件发送4,中心服务器中断时保持队列
我最好的build议是通过应用程序(例如SendGrid)使用第三方电子邮件传送系统 – 必须手动configurationpostfix会很痛苦(可能与puppet / chef / etc等,但不必要的痛苦),尤其是当你所关心的是保证交易电子邮件该应用程序。
正如其他成员所提到的,中央SMTP服务器是第三方服务无可争议的途径。