背景

背景

背景

我们使用 Google Apps 来处理带有我们域名的电子邮件example.com

[ec2-user@example ~]$ dig MX example.com
;; ANSWER SECTION:
example.com.            300     IN      MX      1 aspmx.l.google.com.
example.com.            300     IN      MX      5 alt1.aspmx.l.google.com.
example.com.            300     IN      MX      5 alt2.aspmx.l.google.com.
example.com.            300     IN      MX      10 aspmx2.googlemail.com.
example.com.            300     IN      MX      10 aspmx3.googlemail.com.

在同一个域中,我们运行了一个 EC2 实例,它使用 Amazon Linux AMI(基于 Centos)。sendmail对于非 example.com 地址,它工作正常。但是,对于 example.com 地址,它会尝试在本地发送邮件,这对于仅存在于 Google Apps 上的用户来说会失败。有趣的是,尽管它 local-host-names是空的,但它还是如此。

问题

为了避免本地投递尝试,我们可以设置sendmail让所有电子邮件都通过 Google 的 SMTP 服务器发送(需要身份验证)吗?这是个好主意吗?或者有更好的解决方案吗?

附加信息

  • root另外,配置服务器以将电子邮件发送到本地地址和ec2-userGoogle Apps 用户也 很有趣[email protected]。我想,我们会为此使用邮件别名。

  • 完整合格域名 (FQDN):

    [ec2-user@example ~]$ hostname --fqdn
    example.com
    

    当然,实际的服务器名称是不是 example.com。这是另一个.com域。

  • 根据@AndrzejA.Filip 的要求:

    [ec2-user@example ~]$ echo '$j' | sendmail -bt
    ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
    Enter <ruleset> <address>
    > example.com
    > [ec2-user@example ~]$
    

答案1

您将服务器命名为example.com,即裸域名。因此,许多程序(包括 sendmail)都会相信您说的话,并认为本地服务器确实一切与该域名相关。

要解决此问题,请重命名主机。出于这个原因以及其他各种原因,任何服务器都不应以仅有的其裸域名。

相关内容