OpenDKIM不签名邮件


9

因此,我在让OpenDKIM签名消息方面遇到了麻烦,但是对于可能导致它的原因却遇到了麻烦:

在Debian Jessie上,使用Postfix和OpenDKIM。

我的/etc/opendkim.conf

Syslog                  yes
SyslogSuccess           Yes
LogWhy yes
UMask                   002
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              no
#ADSPAction             continue
AutoRestart             Yes
AutoRestartRate         10/1h
Background              yes
DNSTimeout              5
SignatureAlgorithm      rsa-sha256
UserID                  opendkim:opendkim
Socket                  inet:12301@localhost
KeyTable        refile:/etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts   refile:/etc/opendkim/TrustedHosts

我的/etc/opendkim/KeyTable

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

我的/etc/opendkim/SigningTable

example.com default._domainkey.example.com

在SigningTable上尝试了以下变体,但是禁用了我的SMTP:

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

在我的注释中添加以下行/etc/default/opendkim

SOCKET="inet:12345@localhost

在我的/etc/postfix/main/cf

# DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345

opendkim-testkey -d example.com -s default -vvv将返回:

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'default._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK

我的日志中似乎没有与opendkim有关的任何错误,但是当我尝试验证签名时,mail-tester.com报告没有DKIM签名,check-auth @ verifier.port25.com返回了DKIM检查:无。

查明我所缺少的任何帮助将不胜感激。谢谢。

Answers:


7

我看到的问题:

  • 您使用的refile
    文档

    如果字符串以“ refile:”开头,则假定字符串的其余部分指定一个文件,该文件包含一组模式(每行一个)及其关联值。模式被当作第一个空白行的起点,空白之后的部分被当作匹配该模式时要使用的值。模式是简单的通配符模式,除了星号(“ *”)字符被认为是通配符外,它匹配所有文本。如果一个值包含多个条目,则这些条目应以冒号分隔。

    KeyTable不遵循该模式,因此不需要refile关键字。我不知道这也许不会疼。我不在此处的配置中使用它,它对我有用。

    KeyTable        /etc/opendkim/KeyTable
    SigningTable    refile:/etc/opendkim/SigningTable
    
  • 您的键表

    这些行应该以域开头,而不是以domainkey记录开头:

    example.com example.com:default:/etc/opendkim/keys/example.com/default.private
    
  • 签名表

    签名表应将电子邮件地址映射到域。它看起来应该像这样:

    *@example.com example.com
    

    这里refile需要关键字。

我不了解ExternalIgnoreListInternalHosts,因为我不使用它们。其余的配置对我来说看起来不错。


我认为您的KeyTable / Signingtable注释不正确;该行以键名开头,在您的情况下为example.com。声明的名称default._domainkey.example.com是完全明智的。然后,SigningTable将电子邮件地址映射到键名,而不是域。
TacoV
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.