0365 邮件用户是鼓励使用包括:spf.protection.outlook.com - 全部在其 SPF 记录中。
我已遵循此指南。我公司的 spf 记录显示:
v=spf1 include:spf.protection.outlook.com -all
spf.protection.outlook.com 记录以 include:spfa.protection.outlook.com -all 结尾,而后者又以 include:spfb.protection.outlook.com 结尾
每个包含项都包含一组 CIDR,用于 outlook.com 在发送电子邮件时使用的 IP。
但是,我从 google.com 收到 DMARC 报告,指出 SPF 记录中的一个 IP 实际涵盖了 SPF 失败。我认为这是不正确的,但这种情况经常发生。
以下是一个例子:
source_ip>104.47.117.233</source_ip>
<count>1</count>
-<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
被拒绝的 IP 是 ip4:104.47.0.0/17 的一部分,而 ip4:104.47.0.0/17 是 spfb.protection.outlook 记录的一部分:
spfb.protection.outlook.com.394 IN TXT“v=spf1 ip6:2a01:111:f400::/48 ip4:23.103.128.0/19 ip4:23.103.198.0/23 ip4:65.55.88.0/24IP4:104.47.0.0/17ip4:23.103.200.0/21 ip4:23.103.208.0/21 ip4:23.103.191.0/24 ip4:216.32.180.0/23 ip4:94.245.120.64/26 -全部”
那么,为什么 Google 的电子邮件服务器将此视为 SPF 失败?
这不是一个孤立的例子——我经常收到有关 SPF 记录中包含的 IP 的 SPF 失败通知。
答案1
我已经搞清楚了。毫不奇怪,是我误解了报告,而不是 Google 的 DMARC 实施有误 :)
政策评估部分中令我感到困惑的 SPF 结果(OP 中发布的副本)是 DMARC 评估的 SPF 结果后考虑对齐。
此引文这里解释该问题:
请注意,auth_results 中的 SPF 和 DKIM 结果都是原始结果,无论标识符对齐如何;带有标识符对齐的 DMARC 评估结果位于 policy_evaluated 部分中。
我检查了其余的记录,发现生的同一记录的结果正确为 SPF 通过。
因此,DMARC 报告告诉我的是,虽然 SPF 结果确实来自 outlook.com(因此是原始“通过”),但返回路径标头与我的发送域不匹配,从而产生了 DMARC评估SPF 失败。另一个参考这里。
基本上,不要尝试直接阅读 XML 报告 - 它们对人类来说很难! 我发现这DMARC xml 解析器可以很好地让您清楚地看到 DMARC 报告想要告诉您的内容。