Debian

DKIM/Postfix/Debian 問題:Postfix 無法連接到 opendkim 套接字

  • December 28, 2019

安裝程序: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

$$ EDIT $$:

忘了補充——配置文件的相關部分如下:

後綴:

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

$$ END EDIT $$

你能看到我缺少的東西嗎?關於嘗試或檢查什麼的任何建議?

您實際上自己找到了解決方案:由於postfix是 chroot 的,而opendkim不是,您必須將 opendkim 的套接字放在 postfix 的 chroot 中:

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

引用自:https://serverfault.com/questions/996899