带有DMARC的电子邮件:“失败”,即使它是从https://mxtoolbox.com验证程序传递过来的。

问题描述 投票:0回答:2

为了保护隐私,我在下面使用[email protected],但这是在真实域和电子邮件地址中发生的。

在我们发送的大量电子邮件中,DMARC失败:

enter image description here

在我的TXT记录中,这是我为DMARC所拥有的:

_dmarc 14400 IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; sp=none; aspf=r"

[当我去验证我在https://mxtoolbox.com的DMARC记录时,这是我得到的:

enter image description here

为什么即使验证器说它通过了,也没有语法错误并且一切看起来正确,为什么DMARC还是会失败?注意SPF和DKIM是如何传递的。由于我试图理解的某些原因,DMARC仅存在该问题。

更新1:我在https://support.google.com/a/answer/2466563?hl=en中找到了本段:

对齐方式是指将发件人记录与SPF和DKIM签名进行比较的精度,其中两个可能的值被放宽或严格。分别由“ r”和“ s”表示。简而言之,放宽允许部分匹配,例如给定域的子域,而严格则要求精确匹配。

在我的_dmarc 14400 IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; sp=none; aspf=r"中,请注意如何使用轻松模式。

spf dkim dmarc
2个回答
4
投票

我猜(因为我不能从您发布的内容中得知),这是因为您的SPF发送者域未与From头“对齐”。您正在通过sendgrid发送,所以我希望sendgrid也在处理您的退回邮件,因此您可能在收到的消息上有一个return-path标头,例如:

Return-path: <[email protected]>

但是您的From头位于您自己的域中:

From: <[email protected]>

您的SPF可能会允许通过sendgrid的IP发送(通过其SPF记录的include),因此您会获得通过,但是example.netsendgrid.net显然不是同一域,因此它们不被认为是一致的,您将获得DMARC错误。

要使其在aspf=s中更多对齐,或者您的发件人地址必须是sendgrid.net地址(可能不是您想要的地址),或者您的邮件服务器必须是example.net(您可能正在使用sendgrid(因为您不想运行自己的邮件服务器),因此您需要恢复到aspf=r(松弛)模式。这将允许您在DNS中创建一个CNAME,以指向您域中的名称,例如sendgrid邮件服务器上的mail.example.net,并且他们需要知道这种安排已经到位,以便他们可以使用该信封发件人发送邮件,在放松模式下,example.netmail.example.net被认为是对齐的,您将获得DMARC PASS

mxtoolbox会通过,因为如果单独考虑您的DMARC记录确实是完全有效的,但是除非您发送邮件上的域实际对齐,否则它仍然无法使用。


-1
投票

只需使用子域在您的DNS设置中添加txt记录_dmarc

"v=DMARC1\;p=none\;pct=100\;rua=mailto:[email protected]\;ruf=mailto:[email protected]"

注意:删除其他_dmarc记录

要测试您是否可以使用适当的结构,请检查

$ dig +short txt _dmarc.mydomain.com 

应该返回

"v=DMARC1\;p=none\;pct=100\;rua=mailto:[email protected]\;ruf=mailto:[email protected]"
© www.soinside.com 2019 - 2024. All rights reserved.