Postfix 拒絕連線到 CentOS 上的 rspamd

Postfix 拒絕連線到 CentOS 上的 rspamd

我的郵件伺服器設定是基於此配置的指引(德語),其中可能重要的細節是我使用 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

突然之間,不再有錯誤了!

相關內容