Exim 通过另一台服务器发送电子邮件。为什么?

Exim 通过另一台服务器发送电子邮件。为什么?

我们的网络服务器使用 Exim4 发送电子邮件,但标头显示该电子邮件来自另一台服务器。下面这些行位于电子邮件标题中。

Exim4.conf 文件中可能有什么内容可以将电子邮件发送到 electric.net?我在配置中没有看到任何可能发生这种情况的地方。我什至不知道 smtp-out4.electric.net 是什么。

我们想直接从服务器发送电子邮件,但我们发现无论是谁设置它似乎都将它们定向到另一个地方。

X-Originating-IP: [192.162.216.194]

Received: from 127.0.0.1  (EHLO smtp-out4.electric.net) (192.162.216.194)
  by mta1017.mail.ir2.yahoo.com with SMTPS; Thu, 20 Apr 2017 16:03:43 +0000
Received: from 1d1EYY-0008Hr-TS by out4b.electric.net with emc1-ok (Exim 4.87)
    (envelope-from <www-data@[our domain].com>)
    id 1d1EYY-0008Lj-Vu
    for [recepient]@yahoo.co.uk; Thu, 20 Apr 2017 09:03:42 -0700
Received: by emcmailer; Thu, 20 Apr 2017 09:03:42 -0700
Received: from [our IP] (helo=mail3.[our domain])
    by out4b.electric.net with esmtps (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.87)
    (envelope-from <www-data@mail3.[our domain]>)
    id 1d1EYY-0008Hr-TS
    for [recipient]@yahoo.co.uk; Thu, 20 Apr 2017 09:03:42 -0700

答案1

Exim 有一种内置方法可以解决此类问题:地址测试模式。

$ /usr/sbin/exim4 -bt [email protected]
R: domain_literal for [email protected]
R: dnslookup_secure for [email protected]
[email protected]
  router = dnslookup_secure, transport = remote_smtp_secure
  host gmail-smtp-in.l.google.com      [2607:f8b0:400d:c0d::1a] MX=5
  host gmail-smtp-in.l.google.com      [209.85.232.26]          MX=5

这两R:行告诉我们它正在尝试哪些路由器,第二行在我的配置中强制将邮件发送到某些常见的启用 TLS 的域(例如 gmail.com),以便通过 TLS 发送。

另一个例子,在另一台机器上:

$ /usr/sbin/exim4 -bt [email protected]
R: smarthost for [email protected]
[email protected]
  router = smarthost, transport = remote_smtp_smarthost
  host einstein.home [192.168.65.24]

这台机器设置为使用智能主机来处理所有外发邮件。您可以看到它正在使用smarthost路由器,并通过 smarthost 进行路由einstein.home

您可能需要以特权用户身份运行地址测试。我的设置中不需要。

答案2

您的邮件服务器可能配置为使用智能主机。

在 exim.conf 中查找:

  transport = remote_smtp
  route_list = * REMOTEHOST

其中 REMOTEHOST 是主机名或 IP 地址

如果它是一个 ip 地址,请执行反向查找在上面。如果它位于“electric.net”下,那就有答案。

另外,检查您自己的主机名,看看您的 ISP 是否通过 DHCP 使用 electric.net 下的域配置其中之一:

hostname -A

答案3

您的域策略允许发送服务器吗?不应允许您的 Web 服务器直接发送邮件,如果这样做,则可能会出现递送问题。

您可能已将 Exim4 设置为使用智能邮件程序来发送电子邮件。这是您的 Web 服务器的正确设置,该服务器应通过您的 MTA(邮件传输代理)(通常是您的 MX(邮件交换)服务器)传送邮件。该服务器将具有正确的 DNS 条目,以确保您的邮件可能被送达而不是发送到垃圾邮件桶。这些 DNS 条目包括:

  • 正确的 PTR 记录以确保 rDNS(反向 DNS)验证成功。 (必需的)
  • 发送域的 SPF 记录以及邮件服务器 DNS 名称。 (受到推崇的)
  • 用于签署外发邮件的 DKIM 记录和配置。 (推荐,但往往执行不力。)
  • DMARC 记录允许接收服务器应用您的域 SPF 和 DKIM 策略(推荐,但较小容量的服务器不经常使用。)

相关内容