今天早上我收到了来自 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]"
在我写这篇文章的时候,我看到迈克尔·汉普顿已经解释了这份报告方法,所以继续阅读他的回答。
如果您不是接收这些域名报告的合适人选,您应该通过修改_dmarc
DNS 中该域名的条目来调整上面的 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 来发送交易电子邮件。