Google DMARC 支持,DKIM 和 SPF 失败

Google DMARC 支持,DKIM 和 SPF 失败

今天早上我收到了来自 noreply-dmarc-support 的第二封电子邮件,我真的不明白为什么。我尝试查找它,并通过这里的论坛看到它与电子邮件有关,但我没有发送任何内容。这是否意味着有人试图在我的网站上填写我的表格,但没有成功?我对这一切都不熟悉,也不懂编码,所以当我收到代码时,它对我来说毫无意义。它说

<dkim>fail</dkim>
<spf>fail</spf>

我认为这很糟糕,因为它显示失败。有人能告诉我为什么我会收到这个消息,以及如果这是一个问题,如何解决这个问题吗?这是它发送的完整电子邮件:

<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
  <report_metadata>
    <org_name>google.com</org_name>
    <email>[email protected]</email>
    <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
    <report_id>9553516014094530914</report_id>
    <date_range>
      <begin>1603756800</begin>
      <end>1603843199</end>
    </date_range>
  </report_metadata>
  <policy_published>
    <domain>celestelili.com</domain>
    <adkim>r</adkim>
    <aspf>r</aspf>
    <p>quarantine</p>
    <sp>quarantine</sp>
    <pct>100</pct>
  </policy_published>
  <record>
    <row>
      <source_ip>72.167.234.241</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>quarantine</disposition>
        <dkim>fail</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>celestelili.com</header_from>
    </identifiers>
    <auth_results>
      <spf>
        <domain>p3nlwpweb453.prod.phx3.secureserver.net</domain>
        <result>none</result>
      </spf>
    </auth_results>
  </record>
</feedback>

答案1

是的,这是个问题。这表明您的部分合法电子邮件被当作垃圾邮件拒绝。

让我们快速了解一下您的域名的邮件在 DNS 中是如何配置的。

$ host celestelili.com
celestelili.com has address 72.167.241.46
celestelili.com mail is handled by 0 celestelili-com.mail.protection.outlook.com.

我们在这里看到您在 72.167.241.46 有一个服务器(大概是 Web 服务器),并且您域的邮件由 Office 365 处理。

但是现在让我们看看您的 SPF 记录。

$ host -t txt celestelili.com
celestelili.com descriptive text "v=spf1 include:spf.protection.outlook.com -all"
# (other TXT records omitted)

您的 SPF 记录表明,来自您域的唯一合法邮件将由 Office 365 发送。

现在让我们看看您收到的 DMARC 报告。有趣的是其中的一条record

  <record>
    <row>
      <source_ip>72.167.234.241</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>quarantine</disposition>
        <dkim>fail</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>celestelili.com</header_from>
    </identifiers>
    <auth_results>
      <spf>
        <domain>p3nlwpweb453.prod.phx3.secureserver.net</domain>
        <result>none</result>
      </spf>
    </auth_results>
  </record>

该记录显示,Google 收到了一些来自 GoDaddy 的 SMTP 服务器的电子邮件,可能是从您的网站发送的,但它是直接从 GoDaddy 的服务器发送的,而不是从 Office 365 发送的。

您还记得,SPF 记录表明只有 Office 365 可以为您的域发送邮件。您的 Web 服务器或任何其他服务器都不能。这就是它被标记为垃圾邮件的原因,也是您收到此 DMARC 报告的原因。


假设您自己的网站应该被允许为您的域名发送电子邮件。因此,您可以通过将 GoDaddy 的 SPF 记录添加到您的 SPF 记录中来解决此问题。

因此,您的旧 SPF 记录是:

v=spf1 include:spf.protection.outlook.com -all

它应该改为:

v=spf1 include:secureserver.net include:spf.protection.outlook.com -all

答案2

DMARC 是一种机制,用于对来自您域中地址的电子邮件提供一些保证,请参阅维基百科的解释。特别是对于您的域,您有一个 DMARC 策略,用于远程系统向您发送反馈报告 - 请注意 DMARC 策略记录中指定的电子邮件地址:

$ dig txt _dmarc.celestelili.com +short
"v=DMARC1; p=quarantine; rua=mailto:[email protected]"

在我写这篇文章的时候,我看到迈克尔·汉普顿已经解释了这份报告方法,所以继续阅读他的回答。

如果您不是接收这些域名报告的合适人选,您应该通过修改_dmarcDNS 中该域名的条目来调整上面的 DMARC 策略记录。

答案3

我想补充一下上面建议您更新 SPF 记录的回复:

v=spf1 include:secureserver.net include:spf.protection.outlook.com -all

当进行 DMARC SPF 对齐检查时,这不会对您有帮助,因为 SPF 本身会检查返回路径以进行验证,而 DMARC 会检查返回路径是否与发件人:地址对齐以通过对齐检查。

现在,当您检查 XML 报告时:

  <spf>
    <domain>p3nlwpweb453.prod.phx3.secureserver.net</domain>
    <result>none</result>
  </spf>

此处的返回路径是“p3nlwpweb453.prod.phx3.secureserver.net”,而不是您的实际域名。因此,将 GoDaddy IP(secureserver.net)列入您域的 SPF 记录中的“白名单”对您没有帮助。

我的建议:不要再使用 GoDaddy 来发送交易电子邮件。

相关内容