호스트명이 서버 인증서와 일치하지 않음 - 다른 스레드에서는 해결책이 제공되지 않음

이 포럼에서 관련 스레드를 검색해 보았지만 아무것도 나오지 않았습니다. 모두가 묻고 있는 문제인 것 같은데, 해결책은 거의 찾아볼 수 없네요.

정상적으로 작동하는 인증 정보와 여러 도메인을 공유하는 DirectAdmin 메일 서버가 있습니다. 당연히 호스트네임이 발신 도메인 이름과 일치하지 않습니다.

해당 도메인과 메일 서버에 대해 Let’s Encrypt 인증서를 설정해 두었고, SPF 및 DKIM 레코드도 유효합니다.

하지만 Discourse는 계속 이 문제에 부딪혀 메일 서버를 받아들이지 않습니다. 다른 스레드 중 하나는 app.yml에 다음을 추가하라고 제안했습니다:

DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

이것도 작동하지 않았습니다.

제 Discourse는 기술 동료 그룹을 위한 작은 사설 커뮤니티입니다. 그 결과 트랜잭션 메일 서비스에서 참여를 얻기 어려운 상황입니다. 따라서 사설 메일 서버가 작동하도록 해야 합니다.

4개월 동안 이 문제를 해결하기 위해 여러 방법을 시도해 보았습니다. 서비스 설정이 이렇게 어려울 수는 없습니다.

실제로 확인되는 오류와 오류가 발생하는 위치를 보여줄 수 있는 로그를 가지고 계신가요?

DirectAdmin 메일 서버를 통해 Discourse가 이메일을 보내는 것에 대해 말씀하시는 것 같습니다. 그렇다면 발신 도메인은 SSL과 무관하며, DirectAdmin 서버는 Discourse의 app.yml 파일에서 DISCOURSE_SMTP_ADDRESS로 사용된 도메인에 대해 유효한 인증서만 가지고 있으면 됩니다.

app.yml에 DISCOURSE_SMTP_OPENSSL_VERIFY_MODE를 추가할 때 컨테이너를 다시 빌드(rebuild)하셨나요? app.yml의 모든 변경 사항은 적용되기 전에 컨테이너를 다시 빌드해야 합니다. 다만 해당 옵션이 작동하더라도 OpenSSL 검증을 비활성화하는 것은 보안 위험을 초래할 수 있으므로, 메일 서버가 동일한 머신에 있거나 최소한 동일한 폐쇄 네트워크 내에 있지 않는 한 사용하지 않는 것이 좋습니다.