SMTP 서버를 Telnet으로 테스트했습니다:
Telnet으로 SMTP 서버에 연결했습니다.
Telnet을 통해 SMTP 서버에 인증할 수 있었습니다.
Telnet을 사용하여 SMTP 서버를 통해 이메일을 성공적으로 보냈으며, /var/discourse/containers/app.yaml 파일에 있는 값과 동일한 값을 Telnet에서 사용했습니다.
Discourse doctor는 Discourse가 SMTP 서버에 성공적으로 연결되었다고 보고합니다.
Discourse doctor는 Discourse가 테스트 이메일을 보내지 못했다고 보고합니다.
/var/discourse/shared/standalone/log/rails/production.log 파일에서 오류를 발견했습니다:
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 32)
Delivered mail f915c15e-9c4d-4d4e-9527-81bc4984540c@forum.domain.com (63.7ms)
Job exception: hostname "mail.forum.domain.com" does not match the server certificate
초기 가입 이메일 전송 실패 후 나타나는 오류 문구에서 Discourse는 "서버 인증서"가 무엇인지 명확히 설명하지 않습니다. 오류 메시지는 다음 위치에 있습니다:
/discourse/shared/standalone/log/rails/production.log
“Job exception: hostname “mail.forum.domain.com” does not match the server certificate”.
그러나 실제로 "서버 인증서"란 단순히 서버의 SSL 인증서를 의미합니다.
또한 오류 메시지에서는 실제로 DISCOURSE_SMTP_ADDRESS를 가리키고 있음에도 불구하고 "hostname"이라고 잘못 언급하고 있습니다.
Discourse의 모호함 때문에 많은 어려움을 겪었습니다.
해결책은 단순히 서버의 SSL 인증서를 올바른 SSL 인증서로 설정하는 것이었습니다.
이 문제를 Discourse 포럼에 게시했을 때, 많은 오해의 소지가 있고 불분명한 답변들이 있었습니다.