我最近收到来自 Google 的 DMARC 报告,提醒我一些 SPF 失败,邮件来自属于 Amazon SES 的 IP 地址。示例记录如下(我已将我们的域替换为 example.com。):
<record>
<row>
<source_ip>54.240.27.187</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>example.com</domain>
<result>pass</result>
</dkim>
<dkim>
<domain>amazonses.com</domain>
<result>pass</result>
</dkim>
<spf>
<domain>mail.example.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
SPF 是否失败,因为header_from
值是example.com
而 SPFdomain
值是mail.example.com
?
我们使用 Amazon WorkMail 和 Amazon SES 发送手动和自动电子邮件。通常From address
是[email protected]
,我们已将MAIL FROM
域设置为mail.example.com
。因此,我对为什么 Google 会将header_from
域报告为example.com
而不是mail.example.com
. example.com
我们已经为和设置了适当的 SPF 记录mail.example.com
。
此外,我尝试使用 Amazon WorkMail 和 Amazon SES 将测试电子邮件发送到 Gmail 地址。在这两种情况下,SPF 都通过了,DKIM 和 DMARC 也通过了。
DMARC 将RFC5322 .From域与 SPF 认证域进行比较。在您的报告中,我们可以看到 RFC5322.From 域是
example.com
SPF 认证域是mail.example.com
.该
aspf
标签用于指示 DMARC SPF 对齐测试应该是严格 (s
) 还是宽松 (r
),默认为宽松。带有
aspf=r
值或无aspf
标签的 DMARC 记录集将验证 RFC5322.From组织域与 SPF 认证的组织域匹配。您的记录将通过这种对齐方式,因为example.com
两者的组织域。带有
aspf=s
值的 DMARC 记录将验证 RFC5322.From 域和 SPF 认证域的精确 DNS 域匹配。DMARC 测试失败,因为
aspf=s
您的 DMARC 记录中配置了 RFC5322.From 域example.com
和 SPF 认证域mail.example.com
不同。