如果我从我的网站(在私人服务器上)发送一封邮件到[电子邮件保护],我有这份报告:
<record>
<row>
<source_ip>x.x.x.x</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>
<spf>
<domain>mydomain.com</domain>
<result>pass</result>
</spf>
<dkim>
<domain>mydomain.com</domain>
<result>pass</result>
</dkim>
</auth_results>
</record>
identifiers/header_from 和 auth_results/spf/domain 都是 mydomain.com,我的发件人(和返回路径)是[电子邮件保护]
单独的 SPF 测试没问题,但是 dmarc(policy_evaluated/spf)失败了,我不明白为什么……
我的 DNS 记录 (SPF/DMARC):
"v=spf1 a mx include:mx.ovh.com -all"
"v=DMARC1\; p=reject\; sp=none\; rua=mailto:[email protected]\; rf=afrf\; pct=100\; ri=86400"
答案1
<policy_evaluated><spf>fail
尽管 SPF 检查已通过 ( ),但DMARC 仍无法通过 SPF 策略 ( <auth_results><spf><result>pass
),原因是您的 SMTP“mailFrom”(信封 邮件 发件人或者RFC 5321.MailFrom) 并且您的标题“发件人”字段未对齐。我无法从您发布的摘录中确定,但这很可能是答案。
例如,如果您的邮件系统将设置envelope MAIL From
为,但您的回复地址是域不一致并且 SPF 的 DMARC 评估将失败,即使您已将其包含在 SPF 记录中。<[email protected]>
header From
<[email protected]>
mail.provider.tld
这些文章可能会有帮助:
- https://stackoverflow.com/questions/33288490/dmarc-spf-dkim-not-authenticating-with-third-party-mail
- https://blogs.msdn.microsoft.com/tzink/2013/04/27/how-to-setup-dmarc-records-if-you-are-outsourcing-some-or-all-of-your-email-part-1&https://blogs.msdn.microsoft.com/tzink/2013/04/27/how-to-setup-your-dmarc-records-if-you-are-outsourcing-some-or-all-of-your-email-part-2
正如亨利所说,您只需要两个测试(SPF 或 DKIM)中的一个符合 DMARC 即可通过。
答案2
我对那个测试地点不太了解,我将其用作[email protected]
我的主要电子邮件测试器。除此之外,DMARC 可能会失败,如果您的 SPF 未对齐,这称为 ASPF 测试。DMARC 需要 SPF、DKIM 或两者。由于您的 SPF 正在运行,唯一想到的可能是您的 ASPF 测试失败,或者测试器可能有错误。我确实用那个测试测试了我的电子邮件,它确实表明我通过了 DMARC。