我正在尝试正确设置 DKIM、SPF 和 DMARC,以便从我的服务器发送的电子邮件较少的可能会被视为垃圾邮件。我收到了第一份 DMARC 报告,我对这部分内容有点困惑:
<record>
<row>
<source_ip>2a00:1450:400c:c05::236</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>gmail.com</domain>
<result>pass</result>
</dkim>
<spf>
<domain>gmail.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
目前,请忽略 DKIM 部分... 我正在处理这个问题。令人困惑的是 SPF 部分。我v=spf1 include:_spf.google.com a ~all
在我的域上将其设置为。使用dig
我可以看到ip6:2a00:1450:4000::/36
应该将其作为允许的发件人包括在内,_netblocks2.google.com
其中包括_spf.google.com
。
在报告的其余部分,似乎 IPv4 地址都通过了 SPF 测试,但所有 IPv6 地址都失败了。是我做错了什么,还是这是 Google 方面的错误?
答案1
我认为您遇到了域对齐问题。您的标头来自是example.com
。然而,信封发件人是gmail.com
。并且它是经过评估的 SPF 域对齐的信封,并且由于它与您的域不匹配,因此它会因 DMARC 而失败。
修复方法是以下两个选项之一:
将信封发件人设为您的域名。如果您将邮件处理外包给 Google,那么这可能不太可行。
让 DKIM 正常工作。这样,DKIM 记录应该对齐并通过,并且 DMARC 总体上将被视为通过。
也可以看看: DMARC.org 的常见问题解答。