이것을 기반으로 메일 서버 설정을 구성했습니다.지침(독일어), Debian 대신 CentOS 8을 기본 OS로 사용한다는 중요한 세부 정보가 포함되어 있습니다. rspamd를 내 설정에 통합할 수 없다는 점을 제외하면 모든 것이 잘 작동합니다.
다음 줄을 포함하여 rspamd에 연결하기 위해 postfix를 연결하는 경우 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
그리고 갑자기 더 이상 오류가 발생하지 않습니다!