Exim4不会发送到/ etc / aliases中的所有电子邮件地址

(我发布了这个超级用户,但我意识到这可能是更好的处理在这里)

我最近在我的工作中设置了一个开发服务器来testing某些function。 我设置了exim4作为服务器的MTA。 但是,当我testing并发送邮件到服务器上的帐户时,即使我在/etc/aliases有多个条目,它只会发送到其中一个电子邮件地址。

入口是我的/etc/aliases文件是:

joshua: **@gmail.com, **@apps.gmail.com

下面是tail /var/log/exim4/mainlog 。 我已经更改了电子邮件地址,但其余的数据是一样的。 **@gmail.com是我的常规Gmail账户, **@apps.gmail.com是我的工作的Google应用账户,而**@apps.gmail.com是服务器的域名。

 2013-02-04 02:39:55 1U2Geh-0000aO-LZ DKIM: d=gmail.com s=20120113 c=relaxed/relaxed a=rsa-sha256 [verification succeeded] 2013-02-04 02:39:55 1U2Geh-0000aO-LZ <= **@gmail.com H=mail-wi0-f179.google.com [209.85.212.179] P=esmtp S=1757 id=CAM+SEUAx2UK8cDKe-MO22maib0at4kO=J+tQniEy=rxmPpbgjg@mail.gmail.com 2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@apps.gmail.com <[email protected]> R=dnslookup T=remote_smtp H=aspmx.l.google.com [2607:f8b0:4002:c04::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com" 2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@gmail.com <[email protected]> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c02::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com" 2013-02-04 02:39:56 1U2Geh-0000aO-LZ Completed 

当我发送testing电子邮件时,它发送到我的应用程序的电子邮件地址,但不是我的Gmail地址。

我以为这可能是exim4不发送到多个电子邮件地址的问题,所以我改变了/etc/aliases文件只反映我的**@gmail.com电子邮件地址,但它也没有发送,即使没有具体的错误在mainlog

我也testing过,看看我是否可以直接发送邮件到我的Gmail帐户。 我跑了命令

echo "Test" | mail -s "Subject" "**@gmail.com"

并成功。

基本上,当我发送电子邮件到[email protected]它成功地发送电子邮件到**@apps.gmail.com而不是**@gmail.com 。 但是,当我直接发送电子邮件到**@gmail.com它通过。 有任何想法吗?

更新:我搞乱了/etc/sudoers.d并且意外地创build了一个无效的文件, sudo在我修复之前无法运行。 我设置sudo来发送错误时发送电子邮件。 当发生错误时,它发送了一封电子邮件到[email protected] ,它发送了一封电子邮件到我的电子邮件地址。 我通过直接发送邮件到[email protected]进行testing,但仍然没有发送到我的电子邮件地址。 这是mainlog

 2013-02-04 10:13:39 1U2Njn-0000gc-UB <= [email protected] U=joshua P=local S=572 2013-02-04 10:13:40 1U2Njn-0000gc-UB => **@gmail.com <[email protected]> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c04::1a] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com" 2013-02-04 10:13:40 1U2Njn-0000gc-UB Completed 2013-02-04 10:23:10 1U2Nt0-0000gz-Kz DKIM: d=gmail.com s=20120113 c=relaxed/relaxed a=rsa-sha256 [verification succeeded] 2013-02-04 10:23:10 1U2Nt0-0000gz-Kz <= **@gmail.com H=mail-we0-f171.google.com [74.125.82.171] P=esmtp S=1737 id=CAM+SEUDYoGWBb1btq_WQ9gRcWbvoSOoBhr2XrA=8QPbCsreLSg@mail.gmail.com 2013-02-04 10:23:11 1U2Nt0-0000gz-Kz => **@gmail.com <[email protected]> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c04::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com" 2013-02-04 10:23:11 1U2Nt0-0000gz-Kz Completed 

第一项是正确发送的电子邮件(当我尝试使用无效的sudoers.d文件进行sudo时),第二项是发送给[email protected]的testing电子邮件。

更新2:这些是我收到一个成功的电子邮件到我的Gmail帐户时收到的标题:

 Delivered-To: **@gmail.com Received: by 10.216.72.209 with SMTP id t59csp48841wed; Mon, 4 Feb 2013 07:34:59 -0800 (PST) X-Received: by 10.101.175.18 with SMTP id c18mr7560000anp.3.1359992098647; Mon, 04 Feb 2013 07:34:58 -0800 (PST) Return-Path: <[email protected]> Received: from this.server ([2607:fe50:0:6200:206:5bff:fefc:6123]) by mx.google.com with ESMTPS id i16si8003851anl.12.2013.02.04.07.34.58 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 04 Feb 2013 07:34:58 -0800 (PST) Received-SPF: neutral (google.com: 2607:fe50:0:6200:206:5bff:fefc:6123 is neither permitted nor denied by best guess record for domain of [email protected]) client-ip=2607:fe50:0:6200:206:5bff:fefc:6123; Authentication-Results: mx.google.com; spf=neutral (google.com: 2607:fe50:0:6200:206:5bff:fefc:6123 is neither permitted nor denied by best guess record for domain of [email protected]) [email protected] Received: from joshua by this.server with local (Exim 4.80) (envelope-from <[email protected]>) id 1U2O4i-0000hR-Je for [email protected]; Mon, 04 Feb 2013 10:35:16 -0500 To: [email protected] Auto-Submitted: auto-generated 

您的Exim日志似乎表示邮件已正确发送到** gmail.com地址:

2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@gmail.com <[email protected]> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c02::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"

你有没有在Exim Reject日志中看到? 尽pipe如果主日志没有显示任何失败,那么可以有任何疑问。

通常在这些情况下,如果邮件日志中没有指示邮件传递失败的信息,那么在服务器端真正难以排除故障。 在这些情况下,由于某种原因,接收服务器几乎总是丢弃消息。 我经常看到Gmail发生这种情况。 我的build议是:

  • 你有没有检查Exim队列,以确保消息实际上被发送?

exim -bp

  • 您的域名是否设置了SPFlogging ? 如果没有,我肯定会推荐这样做。

  • 您可以检查您的IP是否在黑名单(我喜欢使用MXtoolbox )。 但是,这并不能保证能够解决任何问题,因为Google没有公布他们使用的黑名单(我相信他们仍然保留私有的黑名单)。

  • 特别是Gmail并不总是与电子邮件转发相处。 另一种方法是让您的别名将电子邮件转发到Gmail,然后设置该Gmail帐户以通过POP接收电子邮件。 你可以这样做,如下所示:

Gmail – >齿轮 – >设置 – >帐户 – >添加您拥有的POP3邮件帐户。

对不起,我不能提供比这更多。 我已经处理了几十次类似的问题,而这些是唯一有帮助的事情。 如果服务器端没有出现错误,那么如果您还没有访问接收服务器,那么确定问题真的很难。 (因为这是谷歌,从他们的最终将不会有任何帮助。)

问题是Todd Lyons在评论中所说的:这是因为Gmail删除了源自同一电子邮件地址的电子邮件。 当我发送电子邮件时,他们直接发送作为我自己的电子邮件,当它发回我的Gmail它被删除,因为它将是一个重复。