DKIM 显示格式错误

DKIM 显示格式错误

在我的 Postfix/CentOS 5.6 服务器上设置 DKIM。

它发送并签署电子邮件,但 Google 仍将其显示为中立。我收到的错误是:

dkim=neutral(格式错误)[电子邮件保护]

来自谷歌的“显示原始”界面。

我的 DKIM 签名标头如下所示:

DKIM 签名:v=1;a=rsa-sha256;c=simple/simple;d=r02.lbsmtp.org;s=lbsmtp.org;t=1342436478;bh=KpPvOZhGUmgR1WIhVC9UH5OXzTnwtnGMf7tEwI0nNfw=;h=收件人:主题:消息 ID:日期:发件人; b=lWWQQZjSEWwSjanB0btmP0Xg0izkyqDwKsxzlUqsL/tA9JAQau6dNCYdJx7OWuNiv M3vXqrBe3uzFnvGIrQ2xbZy9DMMPmjiqUKn+KKsvmr873eYq5iG9bw6b53SkSJ6uV5 et0iLL6i3XNt/VDBQKuY1ILs+qRI60Eek/nGaXos=

请建议我如何解决这个问题?

答案1

我在自己的环境中设置 DKIM 时遇到了您的问题。现在我已经在测试环境中运行了,我想回答您的问题。

据我所知,有两个软件包可用于实现 DKIM,在撰写本文时,这两个软件包均可在 EPEL(yum)软件包存储库中找到:

  1. dkim-milter
  2. OpenDKIM

我首先使用 dkim-milter,只是因为我不知道还有更好的选择,所以我尝试了第一个。在与 Freenode 上的 #Postfix IRC 频道中的一些人交谈后,他们向我推荐了 OpenDKIM。

dkim-milter 仍然可用,但自 2011 年以来一直没有更新,而且显然不再维护。OpenDKIM 是 dkim-milter 的一个分支,据我所知,这是更好的方法。

故事寓意:我推荐 OpenDKIM。

现在,您还没有告诉我们您使用什么来签署您的消息。如果您仍然需要帮助,请回复(或编辑您的问题)并告诉我们您是否使用 OpenDKIM 或 dkim-milter(或其他)。

现在,这个问题已经解决了,使用 OpenDKIM,您可以运行一个命令,opendkim-testkey它允许您测试密钥并查看它是否有效,甚至在您发送测试消息之前。

我遇到了和你一模一样的问题,尽管我能够使用 opendkim-testkey 验证我的密钥。结果发现,我的问题是因为我将 /etc/opendkim.conf 中的“选择器”标识符设置为“mail01.private”,而实际上我的选择器只是名为“mail01”。密钥文件名为“mail01.private”,但过滤器本身只是“mail01”——一旦我进行了这一更改,Google 中的邮件标头就会显示 DKIM 通过了验证。

希望这可以帮助!

答案2

当新的 DNS 条目仍在迁移时,也可能会出现“格式错误”消息:在标头中找到签名,但找不到匹配的 DNS。

答案3

似乎 Gmail 不喜欢不包含粒度设置的 DKIM DNS TXT 记录,即 g=*。

相关内容