为什么 Google 的 DMARC 报告中 spf 失败?

Leo*_*los 6 google spf dkim amazon-web-services dmarc

我最近收到了来自 Google 的 DMARC 报告,提醒我来自 Amazon SES IP 地址的邮件出现了一些 SPF 故障。示例记录如下(我已将我们的域名替换为 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>
Run Code Online (Sandbox Code Playgroud)

SPF 是否失败,因为该header_from值是example.comSPFdomainmail.example.com

我们使用 Amazon WorkMail 和 Amazon SES 发送手动和自动电子邮件。通常From addresswebmaster@example.com,我们已将MAIL FROM域设置为mail.example.com。因此,我有点困惑为什么 Google 会将header_from域名报告example.commail.example.com. example.com我们为和设定了适当的 SPF 记录mail.example.com

此外,我尝试使用 Amazon WorkMail 和 Amazon SES 将测试电子邮件发送到 Gmail 地址。在这两种情况下,SPF 都通过了,DKIM 和 DMARC 也都通过了。

Pau*_*aul 4

DMARC 将RFC5322 .From 域与经过 SPF 身份验证的域进行比较。在您的报告中,我们可以看到 RFC5322.From 域是example.com,SPF 验证的域是mail.example.com

aspf标签用于指示 DMARC SPF 对齐测试应严格 ( s) 还是宽松 ( r),默认为宽松。

aspf=r带值或不带标签的 DMARC 记录集aspf将验证 RFC5322.From组织域与经过 SPF 身份验证的组织域匹配。example.com您的记录将通过这种对齐方式通过,因为两者的组织域。

具有值的 DMARC 记录aspf=s将验证 RFC5322.From 域和 SPF 验证域的精确 DNS 域匹配。

DMARC 测试失败,因为aspf=sDMARC 记录中的配置与 RFC5322.From 域example.com和 SPF 身份验证的域mail.example.com不同。