DMARC指出即使有SPF记录也会失败

4

我在pixelark.com域名下拥有以下SPF记录:

v=spf1 ip4:70.164.0.71  include:amazonses.com include:_spf.google.com ~all

ip4地址是Web服务器,amazonses.com用于Amazon SES。问题出在Amazon SES。

这是通过Amazon SES发送电子邮件时我收到的DMARC结果之一。

<record>
 <row>
  <source_ip>204.197.248.33</source_ip>
  <count>1</count>
  <policy_evaluated>
    <disposition>none</disposition>
    <dkim>pass</dkim>
    <spf>fail</spf>
  </policy_evaluated>
 </row>
 <identifiers>
  <header_from>pixelark.com</header_from>
 </identifiers>
 <auth_results>
  <dkim>
    <domain>pixelark.com</domain>
    <result>pass</result>
  </dkim>
  <spf>
    <domain>amazonses.com</domain>
    <result>fail</result>
  </spf>
 </auth_results>
</record>

我正在使用Amazon SES通过noreply@pixelark.com发送电子邮件。我已将amazonses.com设置为SPF记录中的有效发件人,但DMARC显示SPF验证失败。我不知道为什么会这样?我一直无法弄清楚这个问题。非常感谢您的帮助。

2
您的SPF记录似乎是正确的,但是204.197.248.33解析为texas.adwebcentral.com,并且它似乎不是Amazon SES地址之一。您有任何想法为什么您的电子邮件会有这个源IP吗? - izstas
不确定为什么会有那个来源 - 只是通过 AWS SES 网关发送。 - Adam
2个回答

10

从第一眼看,这似乎与DMARC要求您的邮件发送地址(回复路径)和发件人地址域名匹配有关。当您使用电子邮件服务提供商时,他们通常会有自己的电子邮件地址来捕获退信,这会导致SPF验证失败,从而引起DMARC验证失败。

我们开发了一个免费实验项目来跟踪DMARC结果。它可能会帮助您发现更多来源。您可以在http://dmarc.postmarkapp.com上查看它。


我看到的正是这个,显示为 Authentication-Results: mx.google.com; spf=pass; dkim=pass; dmarc=fail;(在收到的 @gmail 消息中)。解决方案是按建议更改 Return-Path。(并且首先通过 Postmark DMARC 工具发现了我的问题--感谢!) - medmunds
AWS SES用户:这里提供了详细的解释和步骤,以使用自定义MAIL FROM域名来解决此问题。 - tepez

1
如评论所述,该电子邮件是从解析为的IP地址发送的。通常你会在DMARC聚合报告中找到转发的电子邮件。
在这种情况下,电子邮件似乎已通过AmazonSES路由并由收件人转发。 转发消息的接收服务器报告了失败的SPF检查,这对于转发的消息来说是预期的。
在当前配置中,添加AmazonSES到您的域的SPF记录中没有帮助,因为反弹地址设置为域。
您可以在AmazonSES中更改此配置,使用您的域的子域作为反弹地址(返回路径),在该地址上执行SPF检查。 这样它就与您的域对齐,并将通过SPF的DMARC。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接