신규 Discourse/Docker 설치에서 메일을 보내지 않습니다

안녕하세요,
오래된 phpBB3 포럼을 Discourse로 전환하려고 합니다. Docker 설정은 완료했고, 초기 설정(Initial Setup) 화면에도 접근할 수 있습니다. 하지만 이메일이 전송되지 않아 초기화를 완료할 수 없습니다.
디버깅을 해보았지만 원인을 찾지 못해 도움을 요청합니다.

제 환경 구성은 다음과 같습니다. apache2를 Docker로 향하는 리버스 프록시로 설정했으며, 이는 정상적으로 작동합니다. 메일 서버는 같은 머신에 실행 중인 mailcow Docker입니다. 메일 서버는 SMTP의 STARTTLS(포트 587) 및 웹메일을 통해 일상적으로 철저히 테스트되어 정상 작동합니다.

app.yml 설정은 다음과 같습니다:

  DISCOURSE_SMTP_ADDRESS: mail.example.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: discourse@example.com
  DISCOURSE_SMTP_PASSWORD: "password"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (선택 사항, 기본값 true)
  #DISCOURSE_SMTP_DOMAIN: mail.example.com
  DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com

./discourse-doctor를 실행하면 다음과 같은 결과가 나옵니다:

==================== MAIL TEST ====================
강력한 테스트를 위해 http://www.mail-tester.com/에서 주소를 가져오거나
본인에게 테스트 메시지를 보내보세요.
메일 테스트용 이메일 주소? ('n' 입력 시 건너뜀) [admin@example.com]: 
admin@example.com으로 메일 전송 중 . . . 
mail.example.com:587, 사용자 이름:discourse@example.com, 평문 인증으로 admin@example.com 전송 테스트 중.
 =======================================  
ERROR 
 ========================================
                                   UNEXPECTED ERROR

Cannot assign requested address - connect(2) for [correct ipv6]:587

====================================== 
SOLUTION 
=======================================
이것은 흔하지 않은 오류입니다. 권장 솔루션이 없습니다!

위 오류 메시지를 정확히 https://meta.discourse.org/에 보고해 주세요.
(솔루션을 찾으신다면 그것도 함께요!)

웹에서 비슷한 오류 메시지를 가진 사람을 찾지 못해 이 스레드로 향했습니다.
컨테이너 외부에서 telnet으로 메일 서버에 쉽게 연결할 수 있었습니다.

컨테이너 내부에서 시도해 본 것:

getent hosts mail.example.com

명령은 올바른 IPv6 주소를 제공했습니다.
그런 다음 오류가 발생하기 시작했습니다:

openssl s_client -connect mail.example.com:587 -starttls smtp
140124593714496:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110:
140124593714496:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=110
openssl s_client -6 -connect "[correct IPv6]:587" -starttls smtp
139918557709632:error:02002063:system library:connect:Cannot assign requested address:../crypto/bio/b_sock2.c:110:
139918557709632:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=99
 openssl s_client -connect smtp.gmail.com:587 -starttls smtp

이는 정상적으로 작동합니다.

openssl s_client -connect mail.example.com:587 -starttls smtp
을 컨테이너 외부에서 시도하면, 이것도 정상적으로 작동합니다.
mailcow/postfix 로그에는 아무것도 표시되지 않습니다…
완전히 막혀 있습니다. 다음으로 어디를 살펴봐야 할지 도와주실 수 있나요?

새로운 Discourse 설치에서 이메일 문제 해결하기를 참조하세요.

문제는 알림 이메일 주소가 마크 서버에서 발신하도록 설정한 주소가 아닐 가능성이 높습니다.

그러나 “connection timed out” 오류를 설명하기에는 부족합니다. 이는 도커 네트워크 문제처럼 보입니다.

답변해 주셔서 감사합니다. 두 필드에 동일한 주소를 사용해 보았지만, 변화는 없었고 동일한 오류가 발생했습니다.
트러블슈팅 스레드를 따라가 보니:

Discourse 로그에는 무엇이 표시됩니까?

`Job exception: Cannot assign requested address - connect(2) for [correct IPv6]:587

이메일 제공업체 로그에는 무엇이 표시됩니까?

discourse에서 발송된 메일에 관한 로그 항목이 표시되지 않습니다.

이후 openssl을 통해 인증이 가능한지 확인하기 위해 이 방법https://www.saotn.org/test-smtp-authentication-starttls/을 시도해 보았습니다. 서버에서는 정상적으로 작동하지만, 컨테이너 내부에서는 작동하지 않으며 첫 번째 게시글에서 설명한 오류가 발생합니다.

여기서 연결을 차단하는 것이 무엇인지 어떻게 찾아낼 수 있을까요?

오마이갓, 정말 쉬웠어요.
Docker 네트워크에서 IPv6만 활성화하면 되는데, 이 튜토리얼의 첫 세 단계만 따라 했더니 바로 작동했어요.