我以前看过这个问题,但不幸的是,不明白答案。我认为这与不同标准对“来自”标题的定义不同有关。我已将“发件人”中的所有域添加到 SPF 记录,但 DMARC 仍然失败。
我很好奇是否有人可以帮助我具体确定为什么这封电子邮件通过了 SPF 和 DKIM 但未能通过 DMARC。
这是电子邮件标题的屏幕截图:https : //ibb.co/ynqj6fm
我以前看过这个问题,但不幸的是,不明白答案。我认为这与不同标准对“来自”标题的定义不同有关。我已将“发件人”中的所有域添加到 SPF 记录,但 DMARC 仍然失败。
我很好奇是否有人可以帮助我具体确定为什么这封电子邮件通过了 SPF 和 DKIM 但未能通过 DMARC。
这是电子邮件标题的屏幕截图:https : //ibb.co/ynqj6fm
DMARC 失败,因为根据From
邮件标头字段的发件人域与 SMTP 信封(SPF 验证)中的发件人域不同,并且与 DKIM 签名中给出的域不同。这意味着From
域没有与有效的 DKIM 或 SPF 对齐 - 但 DMARC 需要这样的对齐才能通过。
这很复杂,所以这里是一个解释。
要使 DMARC 工作,您需要将SPF 或 DKIM 域与来自地址的正文对齐。这有三个地方很重要。
有两个 - 邮件正文和 smtp 服务器的 MailFrom 地址。
请参阅:https : //dmarc.org/2016/07/how-many-from-addresses-are-there/
您在邮件正文中设置了“发件人地址”。在这种情况下,它是 you@quickpatents.com。
就在您的 SMTP 服务器联系远程 SMTP 服务器之前,它使用 DKIM 对消息进行签名,并指定接收服务器可以在哪里找到公钥以验证 DKIM。(这是 dkim 签名的 d= 和 s= 部分)。
然后您的电子邮件服务在从您的 SMTP 服务器到收件人的 SMTP 服务器进行后端通信时设置 header.from 地址。整个握手过程发生了,您无需担心。(这是它说 spf 和服务器 IP 地址的地方)。
令人惊奇的是,您可以合法地发送包含来自地址、任何 smtp spf 地址和任何 dkim 签名的正文的电子邮件。如果不对齐它们,它们对于电子邮件几乎毫无意义。有大量机器学习可以确定要信任哪些 SMTP 服务器,以及要信任哪些 dkim 域签名。
jon$ dig _dmarc.quickpatents.com txt +short
"v=DMARC1;p=none;pct=100;rua=mailto:dmarc.quickpatents.com@dedicatedmanagers.com,mailto:kevin@quickpatents.com;ruf=mailto:dmarc.quickpatents.com@dedicatedmanagers.com,mailto:kevin@quickpatents.com"
这表示没有指定策略。看看这里:
https://www.dmarcanalyzer.com/dmarc/dmarc-record-check/
它正在查找签名并根据 dns 条目进行验证。
jon$ dig dkim._domainkey.email-od.com txt +short
"k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDzpFrEAH9dbkLukLvwesHGWRDc+JCBkvzQYTpptOR+uz4brRd1V8VDPHPpQH7wRvNMhVh/LhTkPMBXtpJjeedqU2rfDlH8y81O+VweutuI4AHOfBL4PJSHNxZ1Qbw7D3+080AsoDXqphbSZXfi9wnSP5X5bcocLqW+1MwNq854wIDAQAB"
您需要在您的域 quickpatents.com 上托管一个 dkim 密钥并指向 AWS 以使用它。https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html
jon$ dig emailcenterpro.com txt +short
"v=spf1 include:email-od.com ~all"
jon$ dig email-od.com txt +short
"v=spf1 ip4:142.0.176.0/20 ip4:204.232.162.112/28 ip4:204.232.180.112/29 ip4:204.232.180.128/29 ip4:69.20.119.216/29 ip4:76.12.109.192/27 ip4:67.59.141.128/28 ip4:209.41.176.224/28 ip4:69.48.230.0/25 ~all"
第一个ip4是一个掩码,包含smtp服务器ip地址142.0.177.43,这就是SMTP通过的原因。
您需要将 AWS 配置为发送与您的发送域匹配的自定义标头。例如,设置将 .quickpatents.com 映射到 AWS SMTP 服务器的标头 - 请参阅此处了解详细信息:https://docs.aws.amazon。 com/ses/latest/DeveloperGuide/mail-from.html
一旦它们都是同一个域,dmarc 就可以工作。
从邮件标题我了解到邮件是从 Email Center Pro 系统发送的 -> smtp.mailfrom =" 184b.l0.terry=dedicatedmanagers.com@bounces.emailcenterpro.com "
它建立在 SocketLabs 的电子邮件基础设施之上 ->
a) https://toolbox.googleapps.com/apps/dig/#TXT/emailcenterpro.com
v=spf1 include:email-od.com ~all
b) 收到:来自 sl-b12b.socket1abs.email-od.com ( sl-b12b.socketlabs.email-od.com. [142.0.177.43 ])
c) dkim=pass header.i=@email-od.com header.s=dkim header.b=mYydBzjy
SocketLabs 本身可以配置为发送 DKIM 和 SPF 域对齐的电子邮件。请参阅下面的 2 个链接
a) https://help.socketlabs.com/docs/custom-dkim-signing-feature
b) https://help.socketlabs.com/docs/custom-bounce-domains
所以,我想最好的一步是联系 Email Center Pro 支持并要求他们帮助您发送电子邮件 DKIM 和 SPF 投诉(指您知道他们使用 SocketLabs)
顺便说一句,您对 quickpatents.com 域 SPF 记录语法的问题很少 ->
https://easydmarc.com/tools/spf/quickpatents.com
PS 您可能还希望部署DMARC 分析和实施解决方案之一,列在 DMARC.org 网站上,例如 EasyDMARC