编辑:我确实走得更远了,但我搜索到的所有帖子都说权限错误或重新生成密钥,但我将其修复为 644 以及归 DKIM 所有,并且我不断重新生成密钥,但这没有帮助。我现在最新的错误是这个
Apr 21 21:19:12 Sniffy opendkim[8729]: BB5BF3AA66: dkim_eom(): resource unavailable: d2i_PrivateKey_bio() failed
Apr 21 21:19:12 Sniffy postfix/cleanup[8627]: BB5BF3AA66: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.0 resource unavailable; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<abcs.com>
我正在寻找一种简单调试它的方法(不一定需要答案,但从 opendkim 获取日志的方法就很好)。
如果我停止 opendkim,我会看到 postfix 日志连接被拒绝,这很好。但是当我在启动 opendkim 的情况下发送邮件时,我看不到任何日志。我甚至将“LogWhy Yes”行添加到我的 opendkim.conf 文件中,但仍然看不到任何日志。
由于我看到 opendkim 在用户 opendkim 下运行,因此我将 /etc/opendkim/* 和 /etc/opendkim 以及 /etc/opendkim.conf 的所有者全部更改为 opendkim 用户。
我在 ubuntu 上运行。我的 opendkim.conf 文件是
# Log to syslog
Syslog yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask 002
# Sign for example.com with key in /etc/mail/dkim.key using
# selector '2007' (e.g. 2007._domainkey.example.com)
#Domain example.com
Domain sniffyapp.com
#KeyFile /etc/mail/dkim.key
KeyFile /etc/opendkim/keys/sniffyapp.com/default.private
#Selector 2007
Selector default
# Commonly-used options; the commented-out versions show the defaults.
#Canonicalization simple
Mode sv
#SubDomains no
#ADSPDiscard no
Socket inet:8891:localhost
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
LogWhy Yes
我当然已经在 postfix 中的 main.cf 中添加了这些行
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
答案1
下面设置规范化的方法有时会有所帮助。至少最近对我来说很管用。
Canonicalization relaxed/relaxed