如何阅读此 DMARC 报告?为什么 Yahoo 仍然拒绝来自我的服务器的邮件?

如何阅读此 DMARC 报告?为什么 Yahoo 仍然拒绝来自我的服务器的邮件?

我在服务器上设置了 hMailServer,它可以批量向选择加入的订阅者群发送新闻通讯。我设置了 DKIM 签名、SPF 记录(明确授予我的服务器代表我的域发送电子邮件的权限),甚至还设置了反向 DNS 记录。我的 senderscore.org 评分为 97。我的邮件顺利地发送给了所有订阅者,除了 Yahoo 或 Rocketmail 地址的订阅者。我发送到这些地址的每封电子邮件都会被拒绝,并显示以下消息:

远程服务器回复:421 4.7.0 [TSS04] 来自 23.102.xx 的消息由于用户投诉而暂时推迟 - 4.16.55.1;参见https://help.yahoo.com/kb/postmaster/SLN3434.html

此消息 100% 是虚假和误导性的。没有人抱怨过来自此服务器的邮件,因为过去一周我已经停止向任何Yahoo/Rocketmail 地址。这不是暂时现象:这种情况已经持续了大约两周。每隔一两天我都会发送一封探测邮件,看看他们是否已将我的服务器从黑名单中删除,但唉!同样的退回邮件。而且 Yahoo 上根本没人可以交谈;他们没有任何客户服务,更不用说技术支持了。

所以我想我应该注册 DMARC 通知,看看雅虎为什么会不高兴。这是我最近的报告:

<?xml version="1.0"?>    
<feedback>    
  <report_metadata>    
    <org_name>Yahoo! Inc.</org_name>    
    <email>[email protected]</email>    
    <report_id>1562461153.62437</report_id>    
    <date_range>    
      <begin>1562371200</begin>    
      <end>1562457599</end>    
    </date_range>    
  </report_metadata>    
  <policy_published>    
    <domain>mydomain.com</domain>    
    <adkim>r</adkim>    
    <aspf>r</aspf>    
    <p>none</p>    
    <pct>100</pct>    
  </policy_published>    
  <record>    
    <row>    
      <source_ip>197.96.187.217</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>mydomain.com</domain>    
        <result>softfail</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>197.97.112.17</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>mydomain.com</domain>    
        <result>softfail</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.178</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.41</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.43</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.47</source_ip>    
      <count>4</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.49</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.53</source_ip>    
      <count>2</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.208.54</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>209.85.215.171</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>gmail.com</domain>    
        <result>pass</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>54.202.181.118</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>mydomain.com</domain>    
        <result>softfail</result>    
      </spf>    
    </auth_results>    
  </record>    
  <record>    
    <row>    
      <source_ip>62.4.22.164</source_ip>    
      <count>1</count>    
      <policy_evaluated>    
        <disposition>none</disposition>    
        <dkim>pass</dkim>    
        <spf>fail</spf>    
      </policy_evaluated>    
    </row>    
    <identifiers>    
      <header_from>mydomain.com</header_from>    
    </identifiers>    
    <auth_results>    
      <dkim>    
        <domain>mydomain.com</domain>    
        <result>pass</result>    
      </dkim>    
      <spf>    
        <domain>mydomain.com</domain>    
        <result>softfail</result>    
      </spf>    
    </auth_results>    
  </record>    
</feedback>    

我首先要提醒您注意的是,报告上根本没有提到我的服务器的 IP(23.102.xx)。我不知道这些其他服务器(例如 197.97.112.17)是什么,也不知道它们为什么会导致我的服务器被列入黑名单。这份报告是什么意思?我怎样才能让 Yahoo 停止退回我的邮件?

更新:幸运的是,某个小小的域名发回了一条拒绝消息,告诉我我没有反向 DNS 记录。我以为我有!结果我听从了 Azure 支持代理的错误建议,他告诉我为设置自己的 DNS 区域x.102.23.in-addr.arpa,然后在那里为代表我服务器 IP 地址的最后四重奏添加一条记录。事后看来,我意识到这显然没有意义,因为这样我实际上就可以控制 255 个其他可能服务器的 PTR 记录。所以我重新打开了 Azure 的支持单,询问他们设置 PTR 记录。如果可行,我会将此作为答案发布。

更新2:我得到了 Azure 的支持,他们帮助我设置了反向 DNS 记录。所以现在当我从 Linux 提示符运行以下命令时,我会得到预期的结果:

$主机23.102.xx

xx102.23.in-addr.arpa 域名指针 mail.mydomain.com

不幸的是,雅虎仍然拒绝来自我的服务器的邮件。我已经注册了他们的反馈循环,但没有收到他们发来的任何邮件。但我发给雅虎地址的所有邮件仍然被退回,并显示相同的错误和误导性错误消息。还有其他办法吗?

答案1

在您的 DMARC 报告中发现许多免费邮件提供商并不罕见。

例如,在 Google 地址上收到您发来的邮件的人可能会选择将您的邮件转发给雅虎,这会导致雅虎将这些收据报告给您。该报告实际上包含一条线索 - 表示 的 SPF 检查已通过gmail.com。如果报告中没有包含该信息,您仍然可以根据 IP 地址的 whois 信息进行猜测 - 该 IP 地址已分配给 Google。

“没有人抱怨”部分让我怀疑你没有设置反馈回路雅虎 - 他们只会在你签署邮件后告诉你有关投诉的信息明确选择加入。如果您完整阅读了错误消息中提到的帮助页面,您就会知道这一点,因此 Yahoo 很可能会根据其“最佳实践”列表中的其他项目推迟您的消息。因此这是解决问题的最佳选择——验证您是否理解并实施了列表上的每一项。

答案2

所以我的故事的美好结局是一对夫妇在正确设置我的反向 PTR 记录后(在 Azure 支持的帮助下),Yahoo 开始收到消息。请注意,这不是即时的;一开始是少数订阅者报告他们的电子邮件服务已恢复。但仍然有大部分邮件被拒绝。然后,成功投递的百分比慢慢增加,直到大约两天的过渡期后,退回完全停止。

总之,答案是设置反向 DNS 记录...并且等待

相关内容