이메일을 보낼 수 없음 - TLS 문제

/discourse-doctor를 실행했는데 메일 테스트에서 다음과 같은 오류가 발생했습니다:

Not able to send email Net::ReadTimeout

그 후, 이곳에서 권장된 대로 DISCOURSE_SMTP_FORCE_TLS: true를 설정했습니다: Cannot send email - problem with port 465 - #10 by schungx

하지만 이번에는 다음과 같은 오류가 발생했습니다:

TLS and STARTTLS are mutually exclusive

그래서 openssl로 TLS 연결 설정을 테스트해 보았습니다.

openssl s_client -connect 127.0.0.1:465 -debug -msg

이 명령도 실패했습니다. 연결은 수립되었지만 협상(negotiation)이 전혀 이루어지지 않았습니다.

CONNECTED(00000003)

문제는 Docker 인터페이스의 MTU 크기였습니다. 저는 MTU 크기가 1500바이트보다 작은 PPPoE 연결을 사용하므로, iptables에서 MSS 클램핑을 설정해야 했습니다.

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtu

해결 방안에 대한 자세한 정보는 다음 링크에서 확인할 수 있습니다: https://stackoverflow.com/a/79081640/1342413