我运营一个需要发送电子邮件的 Rails 应用程序(Discourse 论坛)。我的系统管理员告诉我,我不应该使用特定的外发邮件服务器,而是指定我的域并让我的应用程序查找 MX 记录我的域 — 就像 Postfix 所做的那样relayhost = $mydomain
。具体来说,没有邮件服务器可以保证始终在线 — 这里只有我的域的 MX 记录保持最新。
但是 Rails 电子邮件 API 不支持此功能,因为这样做是错误的。事实上,我没有发现任何建议这样做,而且论点似乎合理,但我没有看到任何说“不要这样做”的内容,而且 Postfix 默认支持这一点。另一方面,显然 MSMTP 和 Exim (Exim 根据 mx 记录重定向到智能主机) 不支持它。
- 这里正确的行为是什么? Postfix 是否过于慷慨?
- 由于我有一个使用 MX 记录的本地 Postfix 服务器,如果 Rails 应用程序将电子邮件发送到 Postfix,情况会变得多么糟糕?
编辑:我没有这个“本地 Postfix 服务器”,只有 MSMTP;我被要求切换到更复杂的 Postfix 只是为了获得对 MX 记录的支持。(坦率地说,如果这个问题得到解决,我可能想切换回来)。
编辑 2:我操作应用程序,而不是编写它。更重要的是,我被要求通过我的域的 MX 记录将电子邮件交给我的域的中继服务器(我在上面已经澄清了一些),而不是实现邮件服务器 — 除非您将执行 MX 查找视为“邮件服务器”(这可能是正确的)。