我编写了一些软件,为俱乐部运行非商业联系人列表,服务器将管理邮件发送到整个俱乐部。电子邮件在 Yahoo、gmail 和 AOL 上都可以收到,但被 hotmail 和 Outlook 默默地丢弃。它们最终不会出现在收件人的垃圾邮件文件夹中,也不会被退回——它们实际上只是被丢弃了。
我已经花了几个小时在这上面,但我没有任何进展。关于如何进行以及接下来要看什么的任何建议?到目前为止我所知道的是:
- 电子邮件通过 SPF
- 电子邮件通过 DKIM
- 发送机器的主机名是
griffon.foo.org
,这Return-Path
在下面的标题中结束(大概 sendmail 将信封发件人设置为主机名)。原始 IP 被标识为1.2.3.4
,并且 DNS PTR 查找1.2.3.4
返回griffon.foo.org
- 没有 A 记录
griffon.foo.org
,foo.org
退货A 记录2.3.4.5
,没有1.2.3.4
。这是问题吗? From
电子邮件正文标题和Return-Path
:之间有轻微的不匹配From
,一般来说,[email protected]
这是一台新服务器,偶尔会发送少量邮件,我可以保证没有人将收到的邮件标记为垃圾邮件。mxtoolbox.com 不显示
1.2.3.4
在任何黑名单中,并显示2.3.4.5
在 88 个列表中的一个列表中(两者都在同一台机器上)Microsoft 服务器接受来自 sendmail 的电子邮件,并响应它们已排队等待发送。然后它只是忽略它们。
所以看起来它可能是 (4),但 MX 记录foo.org
必须指向2.3.4.5
,原因很复杂。有任何想法吗?我在下面附上了一组在雅虎收到的标题。谢谢。
From [email protected] Wed Mar 25 17:28:23 2015
X-Apparently-To: [email protected]; Wed, 25 Mar 2015 17:28:32 +0000
Return-Path: <[email protected]>
Received-SPF: pass (domain of griffon.foo.org designates 1.2.3.4 as permitted sender)
X-YMailISG: <CUT>
X-Originating-IP: [1.2.3.4]
Authentication-Results: mta1045.mail.ir2.yahoo.com from=foo.org; domainkeys=neutral (no sig); from=foo.org; dkim=pass (ok)
Received: from 127.0.0.1 (EHLO griffon.bar.com) (1.2.3.4)
by mta1045.mail.ir2.yahoo.com with SMTPS; Wed, 25 Mar 2015 17:28:32 +0000
Received: from griffon.foo.org (localhost.localdomain [127.0.0.1])
by griffon.bar.com (8.13.8/8.13.8) with ESMTP id t2PHSNVN016920;
Wed, 25 Mar 2015 17:28:24 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=foo.org;
s=default; t=1427304504;
bh=0TWfPqbvd2nyKtZkN+npokT1bvLtCD0MomG/Bd1zU8g=;
h=Date:To:From:Subject;
b=ZcSVHGuzxcBk8He2hzjT6t8gl9hT0cxUsGf7vNcsnF8S+OfNmZ+XuE240+v7JDNe+
IArMT87aIuLNIp8A1CMOelWvEm7KKdYWKoCy/CDfbe4mcEfu2kWNteai4/5yExPewv
gFV6OOYAv7uKYd44UjMhuWCZ8qqxD2WZROUeoN2E=
Received: (from me@localhost)
by griffon.foo.org (8.13.8/8.13.8/Submit) id t2PHSNSu016919;
Wed, 25 Mar 2015 17:28:23 GMT
Date: Wed, 25 Mar 2015 17:28:23 GMT
Message-Id: <[email protected]>
To: [email protected], [email protected], [email protected],
[email protected], [email protected]
From: [email protected]
Subject: Test all (31)
Content-Length: 14
我通过为 的域添加新的高成本
MX
记录来解决此问题1.2.3.4
,该记录指向 的邮件服务器2.3.4.5
。这可确保反向 DNS 与正向 DNS 匹配。这基本上是解决以下 sendmail 问题的快速解决方案。在此过程中,我确实发现了一些关于 Hotmail 和 Outlook 的有用信息,以及导致邮件被转储的原因。就我而言,根本问题与 sendmail 如何识别自身有关,但这可能对其他任何人都有用。请注意,DKIM 无关紧要(您可以在没有 DKIM 的情况下交付并通过垃圾邮件测试),而且我不必在 Microsoft 注册。
1 - sendmail 将 SMTP 'MAIL FROM' 设置给当前主机名的用户;IE。[email protected](这是您在 中看到的
Return-Path
)2 - hotmail 和 Outlook 将在连接的 IP 地址上进行反向/PTR 查找,如果邮件没有返回到
MAIL FROM
域名,则会静默转储邮件3 - hotmail/outlook 将在最后一个“已接收”标头中命名的“发件人”服务器上进行 MX 查找。如果这与域不匹配
MAIL FROM
,则转储电子邮件好像就是这样。(3) 导致我的问题。sendmail 用于
gethostbyname
设置“发件人”名称,尽管它使用当前主机名来设置MAIL FROM
. 我本来希望gethostbyname
只是进行PTR
查找并得到正确的答案,但它返回的是旧的 FQDN。不知道为什么——可能是缓存问题——但新的 MX 记录暂时修复了它。