신규 셀프호스트 설치(ubuntu 20.04) 시 관리자 활성화 이메일이 전송되지 않음

드디어 이 문제를 해결했습니다.

원인은 Discourse가 기본적으로 사용하는 발신자 이메일 주소였습니다. 이 주소는 설정 시 입력한 호스트네임(제 경우에는 v220200xxxxxxxxxxxx.powersrv.de와 유사한 형태)을 기반으로 생성되며, 그 결과 발신자 주소가 noreply@v220200xxxxxxxxxxxx.powersrv.de가 되어 SMTP 서버에 의해 거부되었습니다.

그렇다면 왜 이런 비우호적인 호스트네임을 사용했을까요? 단순히 기존 서버를 대체할 목적으로 준비했기 때문입니다. 기존 서버는 성장한 Discourse 커뮤니티에 비해 너무 작아지고 있었거든요. 나중에 DNS 설정을 변경하여 이 새 서버를 가리키기 전에 새 서버를 준비하고 테스트하고 있었습니다. 여기에서 임시로 우호적인 DNS 설정을 만드는 데 시간을 절약하고 싶었기 때문입니다.

문제를 해결하는 방법?
app.yml 파일의 끝부분에서 다음 줄을 검색하세요:

## If you want to set the 'From' email address for your first registration, uncomment and change:
## After getting the first signup email, re-comment the line. It only needs to run once.

주석을 해제하고 마지막 줄을 SMTP 서버가 유효한 발신자로 받아들이는 주소로 조정하세요. 예를 들어:
- exec: rails r "SiteSetting.notification_email='USER@DOMAIN.TLD'"

이제 변경 사항을 적용하려면 ./launcher rebuild app을 실행하세요. 그리고 voilà - 이제 활성화 이메일이 전송되고 관리자 계정을 활성화하여 설정을 완료할 수 있습니다.

어떻게 알아냈나요?
웹 호스팅 제공업체에서 새로운 메일 계정을 만들고 이 SMTP 자격 증명을 사용하여 Discourse 설정을 다시 실행했습니다 - 그리고 예상대로 활성화 이메일을 받았습니다. 따라서 이것이 SMTP 설정(ubuntu / docker / discourse 설정과 관련된 다른 것들이 아닌)과 관련되어 있음을 알 수 있었습니다.
이 다른 SMTP 서버로 관리자 계정을 활성화한 후, 설정 > 이메일 > 건너뜀으로 이동하여 활성화 이메일 전송 실패 기록을 발견했습니다: 553 5.7.1 <noreply@v220200xxxxxxxxxxxx.powersrv.de>: Sender address rejected: not owned by user USER@DOMAIN.TLD

결론
Discourse 개발팀의 주의를 Suggestion - allow optional system email “from” setting during setup 기능 요청에 기울여 주셨으면 합니다. 우호적인 호스트 주소를 갖지 않은 테스트 설치(예: 인스턴스의 실제 업그레이드 전에 몇 가지 테스트를 실행하기 위한 복사본)를 고려해 주십시오. 이렇게 하면 app.yaml에 접근하지 않고도 이러한 설치를 더 원활하게 구성할 수 있습니다. 또한 제 생각에는 관리자에게 Discourse 호스트네임에 종속되지 않은 이메일 주소를 사용할 수 있는 선택권을 주는 것이 좋습니다.

감사합니다 :slight_smile:

코드 블록을 게시하는 방법을 찾아보라고 조언해 주신 @codinghorror님께도 감사드립니다.