활성화 이메일이 전송되지 않음, 테스트 이메일은 정상 작동

안녕하세요,

활성화 메일 관련 문제를 겪고 있습니다. 로그를 확인한 결과 메일이 발송되고 있는 것으로 보이지만, 제 메일함에는 아무것도 도착하지 않습니다. discourse doctor를 사용해서 테스트를 해보면 메일은 정상적으로 수신됩니다.
두 방식 사이에 차이가 있을까요?

더 혼란스러운 점은, 지난주에는 활성화 메일을 정상적으로 수신하고 있었지만 DNS 전파가 제대로 작동하지 않아 활성화 버튼을 누를 수 없었다는 것입니다. 이 문제는 이후에 해결되었습니다. 그 외에는 A 레코드를 추가하여 IP를 가리키도록 한 것 말고는 아무런 변경 사항이 없는데, 왜 메일이 더 이상 전달되지 않는지 이해가 되지 않습니다.

메일 제공업체의 로그를 확인해 보세요. 해당 이메일이 시스템 내를 통과한 것으로 표시되어 있나요?

스팸 메일함을 확인해 보셨나요?

이메일 제공업체 로그에 접근할 수 있는지 확실하지 않습니다. 지금까지 이메일로는 Microsoft 365 Enterprise를 사용해 왔습니다(최적의 선택이 아님을 알고 있으며, 변경을 계획하고 있습니다). 하지만 관리자 접근 권한이 없는데, 로그를 찾으려면 이 권한이 필요하다고 생각합니다. 적어도 제 접근 지점에서는 로그를 찾을 수 없습니다.

스팸 폴더에도 아무것도 없습니다.

프로덕션 로그를 다시 확인해 보았는데, 이게 정상적으로 보이나요?:

Processing by FinishInstallationController#register as HTML
Parameters: {“utf8”=>“✓”, “authenticity_token”=>“***==”, “email”=>“my@email”, “username”=>“PappaK”, “password”=>“[FILTERED]”, “commit”=>“Register”}
Redirected to mydomain. com
Completed 302 Found in 24ms (ActiveRecord: 0.0ms | Allocations: 4888)
Started GET “/finish-installation/confirm-email” for IP at 2020-09-21 05:37:43 +0000
Processing by FinishInstallationController#confirm_email as HTML
Rendering finish_installation/confirm_email.html.erb within layouts/finish_installation
Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 1.0ms | Allocations: 388)
Rendered layouts/_head.html.erb (Duration: 13.4ms | Allocations: 2930)
Completed 200 OK in 18ms (Views: 16.5ms | ActiveRecord: 0.0ms | Allocations: 4738)

이메일 테스트에서와 같이 이메일이 전송되었음을 확인하는 로그가 없는 것이 이상해 보입니다:

Delivered mail my@email. com (682.5ms)

로그에서 일부 식별 정보를 제거했습니다.

방금 Discourse-doctor 테스트와 함께 mail-tester를 사용해 봤는데, 이쪽도 실패했습니다. 다만 먼저 SMTP 연결은 성공했습니다:

SMTP 서버 연결 성공.
test-2g0mti7f5@srv1.mail-tester.com(으)로 전송 중…
메일 전송 실패.

회사 메일에 대해 Discourse-doctor 테스트를 사용하면 여전히 정상적으로 작동합니다. 하지만 개인 메일을 사용하면 SMTP 서버에서 메일을 수락했다고 표시되는데, 실제로 메일을 받지 못하고 있습니다.

스팸 폴더를 확인해 보셨나요?

네, 모든 메일함의 스팸 폴더에서 아무것도 받지 못했습니다.

Discourse에 설정한 주소로 이메일을 보낼 수 있도록 O365 계정이 권한을 부여받았나요?

이 스레드의 조언을 따랐습니다:

커넥터를 추가하고 O365 관리 사이트에서 제공한 MX 주소를 사용했습니다.

앱을 다시 구축한 후에도 문제가 해결되지 않아 DigitalOcean의 Droplet 전체를 다시 구축하기로 결정했습니다. 그리고 효과가 있었습니다! 이제 포럼이 실행되고 있으며 관리 계정에서 활성화 이메일을 받을 수 있게 되었습니다.
그러나 개인 Gmail 계정으로 계정을 생성하려고 할 때 이메일을 받을 수 없습니다. 포럼 관리 페이지의 이메일 설정에서 ‘skipped’ 섹션에 다음 오류 메시지가 표시됩니다:
5…4 TenantAttribution; Relay Access Denied [HE…-eur04.prod.protection.outlook.com]

아래 링크가 해결책이 될 것 같습니다:

아직 시도해 보지 않았습니다. 링크에서 제안한 변경 사항을 구현할 시간을 내면 업데이트하겠습니다.

간단한 참고 사항 - 관리 계정 활성화 이후에 설정한 내용들이 앱 재구축 시 문제가 생기지 않을까요?

기본적으로 Discourse는 noreply@discourse.domain.com에서 메일을 보냅니다. 일반적인 문제는 메일 호스트가 domain.com에서 메일을 보내야 한다고 요구하는 것입니다. 새로운 Discourse 설치에서 이메일 문제 해결 문서에서 이를 변경하는 방법을 설명하고 있습니다.