첫 번째 사용자 등록 이메일을 받지 못합니다:
Discourse doctor의 결과:
SMTP 서버 연결 성공.
이메일 전송 실패.
그러나:
mail.domain.com의 587 포트로 Telnet 연결이 성공하고 EHLO mailserver 명령도 정상 작동합니다.
이를 어떻게 해결할 수 있을까요? 도움이 크게 필요합니다.
첫 번째 사용자 등록 이메일을 받지 못합니다:
Discourse doctor의 결과:
SMTP 서버 연결 성공.
이메일 전송 실패.
그러나:
mail.domain.com의 587 포트로 Telnet 연결이 성공하고 EHLO mailserver 명령도 정상 작동합니다.
이를 어떻게 해결할 수 있을까요? 도움이 크게 필요합니다.
메일 서버 로그를 확인해 보세요. 어떤 오류든 v Discourse-doctor가 이해할 수 있는 것이 아닙니다.
exim4를 설정하는 방법을 Google에서 검색해야 합니다.
7. The default configuration file 에서
반송(bounce) 메시지가 원래 메시지를 유발한 발신자 주소가 무효로 인해 영구적 실패를 만나면, 반송 메시지를 전달할 수 없게 되면서 동결(freezing)이 발생합니다.
제 추측으로는 알림 이메일 주소를 변경하거나 exim이 서브도메인을 사용하도록 설정해야 할 것 같습니다.
컨테이너를 다시 빌드하는 것을 잊으셨나요?
어쨌든, 다음 명령을 사용하여 컨테이너를 확인할 수 있습니다:
docker exec -it app rails c
그 후, rails 콘솔에서:
[1] pry(main)>ENV
모든 SMTP 환경 변수를 쉽게 확인할 수 있습니다.
Exim4가 이메일을 보내고 받을 수 있는지 확인하기 위해 테스트되었습니다.
Discourse는 올바른 자격 증명을 사용하여 discourse-setup으로 다시 구축되었습니다:
Hostname : forum domainname com
Email : user@test com
SMTP address : mail forum domainname com
SMTP port : 587
SMTP username : postmaster@forum domainname com
SMTP password : password
그 후, discourse-doctor를 실행하여 Discourse가 로컬 exim4 메일 서버에서 이메일을 보낼 수 있는지 테스트합니다.
Discourse-doctor는 다음과 같이 표시됩니다:
“SMTP 서버 연결 성공.”
“메일 전송 실패.”
그러나 exim4 로그에는 오류가 없습니다.
왜 메일 전송이 실패하는 것일까요?
이것은 흔한 문제인가요?
SMTP 주소가 mail forum domainname com인 점에 유의하세요.
앞에 "mail"이 있어야 하나요?
Discourse-doctor에 따르면 Discourse는 다음 주소에 연결합니다:
mail forum domainname com,
하지만 Discourse는 이메일을 보내지 않습니다.
내 추측은 포럼 호스트명과 메일 서버가 사용할 도메인명 사이에 불일치가 있다는 것입니다.
Discourse가 메일을 전송할 때 사용하는 호스트네임은 무엇인가요?
forum.somedomain.com을 사용하나요?
아니면
mail.forum.somedomain.com을 사용하나요?
기억이 맞다면 기본값은 email@forum.somedomain.com입니다.
일부 사용자는 email@somedomain.com을 기대하기 때문에 이 부분이 혼란을 줄 수 있습니다.