我已经根据此配置了我的邮件服务器设置指南(德语),可能重要的细节是我使用 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
突然之间,不再有错误了!