重要提示:谷歌和雅虎将从 2024 年 4 月起要求使用 DMARC。
权力管理机构

为什么DKIM会失败?

DKIM失败

DKIM失败

阅读时间 7 分钟

你的域名信息的DKIM失败可能是由于DKIM协议的标识符对齐失败或你的记录设置问题造成的。今天我们将深入探讨DKIM规范是如何验证你的域名的,为什么DKIM可能会对你的邮件失效,以及如何通过一些提示和技巧轻松解决DKIM失效问题。

什么是DKIM,为什么需要设置它?

DKIM是一个电子邮件认证系统,帮助你验证你的发送源的合法性,同时确保你的电子邮件的内容在整个发送过程中没有被改变。 传递过程中保持不变。

如果我们要谈论为什么我们需要为我们的电子邮件设置DKIM,我们需要谈论电子邮件如何成为进行欺诈活动的一个载体。从网络钓鱼到域名欺骗的冒充攻击,以及恶意软件的感染,都可以通过假的电子邮件进行。这就是为什么企业需要建立一个过滤系统来验证电子邮件发件人。通过这样做,他们不仅是在保护自己的声誉,也是在防止数百万用户成为电子邮件诈骗的牺牲品。  

DKIM就是这样一个电子邮件验证系统,它使用哈希值(私钥)来签署电子邮件信息,并与寄件人DNS中的公钥进行匹配。 使用DKIM签名的电子邮件具有很高的保护水平,可以防止恶意第三方的任何改动。

电子邮件自动转发和DKIM Vs SPF

在自动转发的电子邮件中,由于一个或多个中介服务器的参与,电子邮件的标题被修改。被转发的邮件占用了这个第三方中介服务器的头信息,而这个第三方中介服务器可能被列为原发件人的SPF记录中的授权发送源,也可能没有。 

如果它没有被包括在内,那么对该邮件来说,SPF 将失败。 

由于 DKIM 签名包含在邮件正文中,转发对 DKIM 没有影响。这就是为什么在你现有的 SPF 策略之上设置 DKIM 可以帮助你避免转发邮件中不必要的认证失败。 

修复没有DKIM的问题

将DKIM和SPF一起设置是一个 推荐然而,这并不是强制性的做法。

DKIM失败的含义

如果你为你的外发邮件激活了DKIM,接收服务器会通过将你的DKIM私钥与你的DNS上公布的公钥相匹配来验证邮件的真实性。如果是匹配,DKIM就会通过,否则DKIM就会失败。

DKIM失败意味着什么?

DKIM失败是指你的DKIM认证检查的失败状态,由于DKIM签名头和发件人头中指定的域不匹配,以及密钥对值的不一致。

DKIM的测试案例失败

1.DKIM记录的语法错误

 

如果你不使用一个可靠的 DKIM记录生成器工具来生成你的记录,试图为你的域名手动设置它,你可能会错误地实施它。你的DNS记录中的语法错误会导致认证失败,在这种情况下,DKIM会失败。

2.DKIM标识符对齐失败

如果你有 DMARC的话,在DKIM验证过程中,域名值在 d=字段中的域名值必须与发件人地址中的域名一致。它可以是严格的对齐,即两个域名必须完全匹配,也可以是宽松的对齐,允许组织匹配来通过检查。

如果DKIM签名头域与发件人头中的域不匹配,就会发生DKIM失败,这可能是域欺骗或冒充攻击的典型案例。 

3.你没有为你的第三方电子邮件供应商设置DKIM

如果你使用几个第三方电子邮件供应商代表你的组织发送电子邮件,你需要与他们取得联系,了解如何为你的外发电子邮件激活DKIM。如果你使用你自己的自定义域名或在该第三方服务上注册的子域名来向你的客户发送电子邮件,请务必 要求你的供应商为你处理DKIM.

理想情况下,如果你的第三方供应商帮助你外包你的电子邮件,他们会通过在他们的DNS上发布一条DKIM记录来设置你的域名 在他们的DNS上使用对你来说独一无二的DKIM选择器,而不需要你去干涉。

或。 

你可以生成一个DKIM密钥对,并将私钥交给你的电子邮件供应商,同时将公钥发布到 在你自己的DNS上.

同样的错误配置会导致DKIM失败,所以你必须就你的DKIM设置与你的服务提供商公开沟通。 

注释: 一些第三方交换服务器在邮件正文中诱导格式化的页脚。如果这些服务器是电子邮件转发过程中的中间服务器,连在一起的页脚可能是导致DKIM失败的一个因素。

4.服务器通信方面的问题

在某些情况下,电子邮件可能是从一个禁用了DKIM的服务器上发出的。在这种情况下,该邮件的DKIM将失效。确保通信方正确激活DKIM是很重要的。 

5.邮件传输代理(MTA)对邮件正文的修改

与SPF不同,DKIM在验证邮件的真实性时并不验证发件人的IP地址或返回路径。相反,它确保邮件内容在传输过程中没有被篡改。有时,参与的MTA和电子邮件转发代理可能在行包装或内容格式化过程中改变邮件正文,这可能导致DKIM失败。 

格式化电子邮件的内容通常是一个自动化的过程,以确保信息对每个收件人都容易理解。 

6.DNS中断/DNS停机时间

这是认证失败的一个常见原因,包括DKIM失败。DNS停运可能是由于各种原因造成的,包括拒绝服务攻击。你的名称服务器的例行维护也可能是DNS停机背后的原因。在这段时间内(通常很短),收件人服务器不能执行DNS查询。 

我们知道DKIM作为TXT/CNAME记录存在于你的DNS中,客户-服务器在认证过程中会执行查询,向发件人的DNS查询公钥。在停电期间,这被认为是不可能的,因此可能会破坏DKIM。 

7.使用OpenDKIM

Gmail、Outlook、Yahoo等邮箱供应商通常使用一种开源的DKIM实现,即OpenDKIM。在验证过程中,OpenDKIM通过端口8891与服务器连接。有时,错误可能是由于启用了错误的权限,导致你的服务器无法与你的套接字绑定。 

检查你的目录,以确保你正确地启用了权限,或者你是否为你的插座设置了一个目录。 

DKIM认证结果失败

1.认证结果:dkim=neutral(格式不好)。

在你的DKIM记录中自动生成的断行会提示错误信息:dkim=neutral(格式不好)。在验证过程中,当你的电子邮件验证器将断裂的资源记录连接在一起时,会产生一个错误的值。一个可能的解决方案是使用1024比特的DKIM密钥(而不是2048比特),以适应255个字符的DNS限制。 

2.认证结果:dkim=fail(签名不良)。

这可能是由于第三方在邮件正文中修改了内容,导致DKIM签名头与邮件正文不匹配。 

3.认证结果: dkim=fail (DKIM-签名体的哈希值没有得到验证)

"DKIM-签名体哈希值未验证 "或 "DKIM签名体哈希值未验证 "是接收服务器对同一错误返回的两个备选结果,这意味着DKIM体哈希值(bh=标签)在传输过程中以某种方式被改变了。即使你的DKIM密钥对设置正确,并且你有一个有效的公钥发布在你的DNS上,哈希值的微小修改,如插入空格或特殊字符,也会使你的主体哈希验证失败DKIM。

bh=标签值可能由于以下原因而被改变。 

4.认证结果:dkim=fail(没有签名的钥匙)

这个错误可能是由于你的DNS中的公钥无效或丢失的结果。你必须确保你的DKIM的公钥和私钥都是匹配的,并且是正确设置的。你确定你的DKIM DNS记录已经发布并且有效吗?现在就使用我们的免费DKIM记录检查器进行检查。 

如何阻止你的邮件出现DKIM故障?

我们不可能解决上面提到的所有问题,因为它们不可能全部被绕过。然而,我们已经收集了一些有用的提示,你可以部署,以尽量减少你的DKIM失败的几率。 

我如何解决DKIM问题?

请注意,我们已经涵盖了一些常见的DKIM失败提示及其 可能的的原因,同时提供了一个可能的围绕它们的解决方案。 然而,由于各种潜在的原因,可能会弹出错误,这些原因是针对你的域名和服务器的,本文没有涉及。

当务之急是,在你在你的组织中实施认证协议或执行你的政策之前,你必须充分建立你对认证协议的了解。DKIM失败,或SPF失败,或DMARC验证失败,都会影响你的电子邮件的可传递性。  

DKIM失败常见问题

1.哪些发件人没有通过DKIM?

DKIM失败是典型的发件人,他们。

2.如果DKIM失败,DMARC能否通过?

是的,前提是该邮件通过了SPF。如果你已经配置了DMARC并针对SPF和DKIM机制调整了邮件,你只需要通过其中一个检查(SPF或DKIM)就可以通过DMARC。然而,如果你的DMARC调整只依赖于DKIM认证,当DKIM失败时,DMARC将失败。

退出手机版