OpenDKIM 中没有签名表匹配

OpenDKIM 中没有签名表匹配

我在 CentOS 上安装了 OpenDKIM。我使用 postfix 作为 MTA,使用 dovecot 作为 IMAP/POP3。

现在的问题是,我正在尝试为我的域名设置 DKIM。邮件是从子域名 mail.example.com 发送的。问题是邮件没有签名,并且/var/log/maillog没有匹配的签名表[电子邮件保护]。有人能帮我解决这个问题吗?

这是 KeyTable 文件的内容

default._domainkey.mail.example.com  mail.example.com:default:/etc/opendkim/keys/mail.example.com/default.private

这是签名表内容文件

*@mail.example.com default._domainkey.mail.example.com

这是 TrustedHosts 内容文件

127.0.0.1
example.com
mail.example.com

答案1

感谢所有试图提供帮助的人.. 问题是当 Signingtable 文件中存在 CR 字符时,opendkim 中的重新文件出现错误.. 因此,我以非 DOS 格式保存了该文件以删除 CR 字符,并且效果很好...

答案2

受信任主机设置是 IP 地址或网络。据我所知,将主机名放入其中不会为您做任何事情。您输入任何主机的 IP 地址,这些主机将向您的服务器发送您希望签名的电子邮件,密钥/签名表条目确定发件人域是否值得这样做。

您的签名表的格式看起来正确,并且您的密钥表的格式看起来正确。我怀疑一旦您修复了受信任的主机列表,它就会解决您的问题。

1 月 27 日添加内容:

您在 opendkim.conf 中指定签名表的方式控制着文件的处理方式。由于您在签名表中使用了“*@example.com”,因此您需要告诉 opendkim 它应该接受并处理通配符。在 opendkim 中执行此操作的方式是将“refile:”添加到配置指令的前面。如果没有该“refile:”部分,它会要求电子邮件地址完全匹配。确保它看起来像这样:

SigningTable  refile:/etc/opendkim/signing_table

1 月 31 日添加内容:

还要确保您的模式设置为“sv”(用于签名和验证),而不仅仅是“v”(仅验证,默认)。

答案3

我们可以使用 dos2unix(如果未安装,请使用:apt-get install dos2unix)作为过滤器来删除 CR 和其他特殊字符:

dos2unix < /etc/opendkim/signing_table

答案4

我在 Debian 11.2 上遇到了同样的错误,并且缺少 refile:在 /etc/opendkim.conf 文件中的签名密钥文件条目上。这是修复该问题的正确条目。

SigningTable    refile:/etc/mail/dkim.signingtable

相关内容