Hotmail/Outlook 转储看似有效的电子邮件

Hotmail/Outlook 转储看似有效的电子邮件

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

我花了好几个小时,但很快就一无所获。关于如何进行以及下一步该看什么,有什么建议吗?到目前为止,我知道的是:

  1. 电子邮件通过 SPF
  2. 电子邮件通过 DKIM
  3. 发送机器的主机名为griffon.foo.org,最终Return-Path在以下标头中显示为 (可能 sendmail 将信封发件人设置为主机名)。原始 IP 被标识为1.2.3.4,DNS PTR 查找1.2.3.4 返回griffon.foo.org
  4. 没有 的 A 记录griffon.foo.org,并且 的 A 记录 foo.org返回2.3.4.5,而不是1.2.3.4。这是问题吗?
  5. From电子邮件正文标题与Return-Path:之间存在轻微不匹配,From一般来说,[email protected]
  6. 这是一台新服务器,偶尔会发送少量邮件,我保证没有人会将收到的邮件标记为垃圾邮件。mxtoolbox.com 没有出现1.2.3.4在任何黑名单中,并且只出现 2.3.4.5在 88 个列表中的一个(两个都在同一台机器上)

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

因此看起来可能是 (4),但由于复杂的原因,的 MX 记录foo.org必须指向2.3.4.5。有什么想法吗?我在下面附上了一组在 Yahoo 收到的标头。谢谢。

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

答案1

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

在此过程中,我确实发现了一些有关 Hotmail 和 Outlook 的有用信息,以及导致邮件被丢弃的原因。就我而言,根本问题与 sendmail 如何识别自身有关,但这可能对其他通过这种方式的人有用。请注意,DKIM 无关紧要(即使没有 DKIM,您也可以投递并通过垃圾邮件测试),而且我不必向 Microsoft 注册。

1-sendmail 将 SMTP‘MAIL FROM’设置为当前主机名的用户;即。[电子邮件保护](这就是您在 中看到的Return-Path

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

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

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

相关内容