SMTP 587 포트 메일 관련 다양한 오류 발생

587 포트로 ./discourse-doctor를 사용하여 테스트할 때, SMTP 서버에 따라 다양한 오류가 발생할 수 있습니다.

  1. TLS와 STARTTLS는 상호 배타적입니다
    이 오류는 지금까지 메타 포럼에서 언급된 적이 없습니다. DISCOURSE_SMTP_ENABLE_START_TLS는 기본적으로 true이므로, 이를 명시적으로 DISCOURSE_SMTP_FORCE_TLS: false로 설정해야 합니다. 그렇지 않으면 충돌이 발생합니다. 항상 해당되는 경우는 아니지만, 시도해 볼 가치가 있습니다.

  2. SSL_connect returned=1 errno=0 peeraddr=xxx.xxx.xxx.xxx:587 state=error: wrong version number
    다시 한번, DISCOURSE_SMTP_FORCE_TLS: false를 설정하면 이 문제가 해결됩니다.

  3. Net::SMTPAuthenticationError
    이 오류는 설정한 자격 증명(사용자 이름 및 비밀번호)이 잘못되었기 때문에 발생할 수 있으며, DISCOURSE_SMTP_AUTHENTICATION: login으로 설정하여 해결할 수 있습니다.

Mailgun의 경우, 새 설치 환경에서는 다음 설정을 적용해야 했습니다:

DISCOURSE_SMTP_FORCE_TLS: true
DISCOURSE_SMTP_ENABLE_START_TLS: false

./discourse-doctor 실행 시 다음과 같은 에러가 보고되었습니다:

======================================== ERROR ========================================
                                    UNEXPECTED ERROR

Net::ReadTimeout

새 Discourse 설치 환경에서 이메일 문제 해결을 위한 전체 트러블슈팅 문서 Troubleshoot email on a new Discourse install - documentation / sysadmin - Discourse Meta는 제 문제를 해결해 주지 않았습니다.

이 문제를 해결하는 데 도움이 되었을 수정 사항에 대한 이 스레드를 발견했습니다: Cannot send email - problem with port 465 - installation - Discourse Meta

그 후, 제가 적용해야 할 몇 가지 설정 변경 사항을 보여준 당신이 게시한 또 다른 스레드를 발견했습니다.

이 솔루션이 저에게는 잘 작동했으며, 그 후 재빌드(rebuild)를 진행했습니다.

감사합니다!