我的服务器设置为将所有电子邮件发送到公司中继服务器。对于公司域,它运行完美。
我最近发现,发送到外部域的电子邮件在发送之前会将我的服务器的主机名附加到电子邮件中。以下是一次此类尝试的日志条目。
Nov 6 09:46:45 myservername sendmail[45023]: rA6EkjiI045023: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30590, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (rA6Ekj2g045037 Message accepted for delivery)
Nov 6 09:46:45 myservername sendmail[45061]: rA6Ekj2g045037: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=120885, relay=relay.company.com [x.x.x.x], dsn=2.0.0, stat=Sent (ok: Message 342335947 accepted)
请注意,我的服务器接受传送的电子邮件地址(正确的电子邮件地址)与公司中继发送和接受的电子邮件地址(附加了服务器名称且不正确)之间的差异。
更有趣的是,我服务器上的应用程序使用电子邮件进行用户帐户验证/激活。8 月份,这位特定用户能够注册并激活他的帐户。自从一年多前设置服务器以来,我没有对邮件进行任何配置更改。
DNS 也是公司服务。我从未动过 /etc/resolv.conf 配置。
domain company.com
nameserver <ip1>
nameserver <ip2>
search myservername
谢谢!
答案1
找到罪魁祸首了。这是 DNS 中的 MX 记录。当我“dig mx outside.com”时,没有返回 ANSWER SECTION。只有 QUESTION SECTION 和 AUTHORITY SECTION。
由于没有答案部分,我猜测 sendmail 假定电子邮件应该保留在本地服务器上,因此将服务器主机名附加到末尾。
感谢 reddit.com/r/sysadmin 的优秀管理员!