我正在使用 Ubuntu 22 LTS 构建带有 postfix、dovecot 和 opendkim 的邮件服务器。在我的开发环境中一切正常(据我检查,设置相同),但当我实时部署它时,opendkim 找不到我的域的密钥。
在 mail.log 中我发现了这些错误:
Dec 27 19:47:28 mail opendkim[45695]: can't load key from /etc/opendkim/keys/my.domain/default.private": No such file or directory
Dec 27 19:47:28 mail opendkim[45695]: 65291400A5: error loading key 'default._domainkey.my.domain'
我仔细检查了该文件是否存在,甚至尝试chmod -R 777 /etc/opendkim/keys
确保我没有权限问题,但还是不行。我甚至登录了 vmail 用户,并检查我是否可以以任何用户身份读取此文件(仅测试)。
我的 main.cf postfix 配置是
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
/etc/默认/opendkim
RUNDIR=/run/opendkim
SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"
USER=opendkim
GROUP=opendkim
PIDFILE=$RUNDIR/$NAME.pid
EXTRAAFTER=
/etc/opendkim.conf
Syslog yes
SyslogSuccess yes
LogWhy yes
Canonicalization relaxed/simple
Mode sv
SubDomains no
OversignHeaders From
AutoRestart yes
AutoRestartRate 10/1M
Background yes
DNSTimeout 5
SignatureAlgorithm rsa-sha256
UserID opendkim
UMask 007
Socket local:/var/spool/postfix/opendkim/opendkim.sock
PidFile /run/opendkim/opendkim.pid
TrustAnchorFile /usr/share/dns/root.key
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
请问我做错了什么?
答案1
如果您查看 mail.log 文件中的第一个错误,您将看到结尾有一个"
。没有相应的开头"
。
/etc/opendkim/key.table
因此,您在以下任一情况下都会出错:/etc/opendkim/signing.table
如果你查看这两个文件,你可能会看到一个尾随的"
。只需将其删除并重新启动即可。
答案2
看看这个帖子opendkim 加载密钥时出错 OpenDKIM 可能不喜欢这种开放权限,因为它们不安全。该帖子包含有关如何测试密钥的代码