DKIM/Postfix/Debian 问题:Postfix 无法连接到 opendkim 套接字

DKIM/Postfix/Debian 问题:Postfix 无法连接到 opendkim 套接字

设置:Debian 10、postfix 3.4.7 和 opendkim 2.11(均从 Debian 的存储库安装)。

我按照 Debian 的说明进行操作https://wiki.debian.org/opendkim

看起来罪魁祸首是套接字。在 中/var/log/mail.log,我确实收到了错误:

Dec 27 ···· postfix/smtpd[1153]: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

Debian 的说明中提到了这一点,他们只是说:“仔细检查权限”。

$ ls -lhd /var/run/opendkim/
drwxr-x--- 2 opendkim opendkim 80 Dec 27 17:20 /var/run/opendkim/

$ sudo ls -lh /var/run/opendkim/
total 4.0K
-rw-rw---- 1 root     root     5 Dec 27 17:20 opendkim.pid
srwxrwx--- 1 opendkim opendkim 0 Dec 27 17:20 opendkim.sock

$ groups postfix
postfix : postfix opendkim

Postfix 似乎确实在 chroot 中运行(我不确定如何确定)。我确实看到里面有一堆目录/var/spool/postfix

$ ls /var/spool/postfix/
active  corrupt  deferred  etc    hold      lib       pid      public  trace  var
bounce  defer    dev       flush  incoming  maildrop  private  saved   usr

包括/var/spool/postfix/var/run/opendkim(除了该目录显示为空):

$ ls -lhd /var/spool/postfix/var/run/opendkim/
drwx--x--- 2 opendkim opendkim 4.0K Dec 27 16:25 /var/spool/postfix/var/run/opendkim/

$ sudo ls -lh /var/spool/postfix/var/run/opendkim/
total 0

[编辑]:

忘记添加——配置文件的相关部分如下:

后缀:

smtpd_milters = inet:localhost:2525 unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
milter_default_action = accept
milter_protocol = 6

(localhost:2525 是我自己编写的垃圾邮件过滤器。这个过滤器似乎有效,因为它在邮件头中添加了一个字段)

opendkim:

Socket          local:/var/run/opendkim/opendkim.sock

[编辑结束]

您能看出我遗漏了什么吗?有什么建议可以尝试或检查吗?

答案1

您实际上自己找到了解决方案:因为后缀被 chroot 了,而opendkim不是,您必须将 opendkim 的套接字放在 postfix 的 chroot 内:

Socket          local:/var/spool/postfix/var/run/opendkim/opendkim.sock

相关内容