Debian
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
$$ 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