Hotmail/Outlook 转储明显有效的电子邮件

EML*_*EML 4 email spam reverse-dns webmail

我编写了一些软件,用于操作俱乐部的非商业联系人列表,其中服务器向整个俱乐部发送管理邮件。这些电子邮件可以在 Yahoo、gmail 和 AOL 上正常接收,但被 hotmail 和 Outlook 悄悄丢弃。它们最终不会出现在收件人的垃圾邮件文件夹中,也不会被退回——它们实际上只是被丢弃了。

我已经在这上面花了几个小时,但我没有任何进展。关于如何进行以及接下来要注意什么的任何建议?到目前为止我所知道的是:

  1. 电子邮件通过 SPF
  2. 电子邮件通过 DKIM
  3. 发送机器的主机名是griffon.foo.org,这Return-Path在下面的标题中结束(大概 sendmail 将信封发件人设置为主机名)。原始 IP 被标识为1.2.3.4,并在1.2.3.4 返回时进行 DNS PTR 查找griffon.foo.org
  4. 有没有为A记录griffon.foo.org,并为A记录 foo.org的回报2.3.4.5,没有1.2.3.4。这是问题吗?
  5. 电子邮件正文From标题和Return-Path:之间有轻微的不匹配From,一般来说,me@baz.foo.org
  6. 这是一台新服务器,偶尔会发送少量邮件,我可以保证没有人将收到的邮件标记为垃圾邮件。mxtoolbox.com 不显示1.2.3.4在任何黑名单中,而是显示在 2.3.4.588 个列表中的一个列表中(两者都在同一台机器上)

  7. Microsoft 服务器接受来自 sendmail 的电子邮件,并响应它们已排队等待发送。然后它只是忽略它们。

所以看起来它可能是 (4),但由于复杂的原因,MX 记录foo.org必须指向2.3.4.5。有任何想法吗?我在下面附上了一组在雅虎收到的标题。谢谢。

From me@foo.org Wed Mar 25 17:28:23 2015
X-Apparently-To: a.a@yahoo.co.uk; Wed, 25 Mar 2015 17:28:32 +0000
Return-Path: <me@griffon.foo.org>
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: <201503251728.t2PHSNSu016919@griffon.foo.org>
To: f.a@outlook.com, a.a@yahoo.co.uk, b.a@aol.co.uk,
        l.b@gmail.com, l.b@hotmail.com
From: me@foo.org
Subject: Test all (31)
Content-Length: 14
Run Code Online (Sandbox Code Playgroud)

EML*_*EML 7

我通过MX为域添加一个新的高成本记录来解决这个问题1.2.3.4,该记录指向2.3.4.5. 这可确保反向 DNS 与正向 DNS 匹配。这基本上是解决下面的sendmail问题的快速解决方案。

在此过程中,我确实发现了一些有关 Hotmail 和 Outlook 的有用信息,以及导致邮件被转​​储的原因。就我而言,潜在的问题与 sendmail 如何识别自己有关,但这可能对其他人有用。请注意,DKIM 无关紧要(您可以在没有 DKIM 的情况下进行垃圾邮件测试),而且我不必在 Microsoft 注册。

1 - sendmail 将 SMTP 'MAIL FROM' 设置为当前主机名的用户;IE。me@griffon.foo.org(这是你在 中看到的Return-Path

2 - hotmail 和 Outlook 将在连接的 IP 地址上进行反向/PTR 查找,如果邮件没有返回到MAIL FROM域名,则会静默转储邮件

3 - hotmail/outlook 然后将在最后一个“已接收”标头中命名的“发件人”服务器上进行 MX 查找。如果这与MAIL FROM域不匹配,则电子邮件将被转储

似乎就是这样。(3) 导致了我的问题。sendmail 用于gethostbyname设置“发件人”名称,尽管它使用当前主机名来设置MAIL FROM. 我本来希望gethostbyname只是进行PTR查找并得到正确的答案,但它返回了一个旧的 FQDN。不知道为什么 - 可能是缓存问题 - 但新的 MX 记录暂时修复了它。

  • 谢谢,但请注意,这不是关于如何将邮件发送到 Hotmail 和 Outlook 的完整答案。反向/正向 DNS 测试和 MX 查找似乎是最重要的,但是您可以通过这个,*并且*通过 SPF 和 DKIM,*和*具有完全无害的邮件内容,并且*仍然*有您的邮件默默倾倒。我不得不要求收件人将我列入白名单(这总是有效的),和/或转移到不认为他们拥有整个邮件系统的邮件提供商。 (2认同)
  • 此答案中的 #2 和 #3 似乎声称 Outlook 不接受您将电子邮件托管在为多个域托管邮件的服务上。一个发送服务器只能有一个 PTR 记录,但是代表多个域发送邮件的服务器需要为每个域使用不同的 MAIL FROM 域。您确定重要的是 MAIL FROM 命令中提到的域(不是 HELO)吗?这本质上是信封发件人,在典型情况下将匹配“发件人:”电子邮件标头,即服务器处理邮件的不同域会有所不同。 (2认同)