我的郵件伺服器設定是基於此配置的指引(德語),其中可能重要的細節是我使用 CentOS 8 而不是 Debian 作為基本作業系統。一切正常,除了我無法將 rspamd 整合到我的設定中。
如果我透過在 中包含以下行來連接 postfix 以連接到 rspamd main.cf
:
smtpd_milters = inet:localhost:11332
non_smtpd_milters = inet:localhost:11332
milter_protocol = 6
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_default_action = accept
並發送電子郵件,我從 postfix 看到以下錯誤:
postfix/submission/smtpd[125562]: fatal: host/service localhost/11332 not found: Device or resource busy
rspamd 的配置worker-proxy.inc
看起來像
bind_socket = "localhost:11332";
milter = yes;
timeout = 120s;
upstream "local" {
default = yes;
self_scan = yes;
}
如果我使用 telnet 手動連接到 rspamd,則不會看到此錯誤:
# telnet localhost 11332
Trying ::1...
Connected to localhost.
Escape character is '^]'.
所以 rspamd 正在監聽預期的端口,但 postfix 無法連接到它,我不知道如何進一步調試它,並且希望得到有關如何繼續的建議。謝謝。
答案1
在隨機嘗試各種配置更改後,我偶然發現了解決方案。無論出於何種原因,postfix 都無法解析localhost
.我更改了以下條目/etc/postfix/main.cf
:
smtpd_milters = inet:localhost:11332
non_smtpd_milters = inet:localhost:11332
到
smtpd_milters = inet:127.0.0.1:11332
non_smtpd_milters = inet:127.0.0.1:11332
突然之間,不再有錯誤了!