저는 이메일 서버를 스마트 호스트로 사용하기 위해 새로운 MantisBT 버그 추적 시스템의 (중요한) 이메일 출력을 연결하려고 합니다. 아이디어는 MantisBT 시스템이 TLS 트래픽을 이메일 서버의 포트 587로 전송하여 특수 사용자로 인증한다는 것입니다([이메일 보호됨]), 이메일 서버는 이를 대상으로 보냅니다. 내 이해는 이것이 올바른 방법이지만 틀릴 수도 있다는 것입니다.
MantisBT는 SMTP 587, 사용자 ID, yada, yada를 사용하도록 적절하게 구성된 phpmailer를 사용합니다. 이메일 서버는 알려진 문제 없이 오랫동안 지속되어 온 iRedMail 설치(내부적으로 postfix를 사용함)입니다. 우리는 문제 없이 다른 내부 서버로 나가는 트래픽에 이 기술을 사용합니다. 두 서버 모두 Rocky Linux 9.1을 실행하고 있습니다.
문제는 MantisBT의 메시지 전송 시도가 모두 즉시 중단된다는 점입니다.
Postfix에서 MantisBT의 IP에 대한 자세한 디버깅을 활성화했으며 다음을 얻습니다(명확성을 위해 로그 왼쪽이 제거됨).
> unknown[159.xx.xx.20]: 220 mailserver.mydomain.com ESMTP Postfix
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]: ????
> unknown[159.xx.xx.20]: 500 5.5.2 Error: bad UTF-8 syntax
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]: ??????
> unknown[159.xx.xx.20]: 500 5.5.2 Error: bad UTF-8 syntax
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]:
dict_pcre_lookup: /etc/postfix/command_filter.pcre:
> unknown[159.xx.xx.20]: 500 5.5.2 Error: bad syntax
watchdog_pat: 0x564330697960
smtp_get: EOF
누구든지 이것을 인식합니까? phpmailer가 SMTP 교환에서 네 개의 물음표를 명령으로 보내는 이유는 무엇입니까? STARTTLS에 관한 것인가요?
모든 도움에 감사드립니다!
답변1
MantisBT 이메일 구성의 오류로 인해 이것이 발생했다는 사실을 인정하는 것이 약간 부끄럽습니다. 나는 사용했었다$g_smtp_connection_mode = 'ssl';어디에 있었어야 했는지'tls'. 결과적으로 일반 텍스트로 시작한 다음 STARTTLS 이후 암호화된 통신으로 전환하는 대신 즉시 SSL을 사용했습니다. ???? 따라서 postfix 로그에는 인쇄할 수 없는(암호화된) 문자가 표시됩니다.