유효하지 않거나 수신 불가능한 이메일 주소를 가진 사용자 몇 명이 있습니다. 해당 사용자의 설정에서 알림을 꺼두었지만, 여전히 이메일이 발송되고 있습니다. 제가 이상한 건가요? 아니면 디스코스가 실패한 이메일을 계속 무한정 보내고 있는 건가요? 무슨 일이 일어나고 있는 걸까요?
조금 더 자세한 정보를 제공해 주실 수 있을까요? 어떤 이메일을 보내고 있나요?
그리고 어차피 로그인할 수 없는 상태라면, 해당 계정을 비활성화하는 것이 더 합리적일 수 있습니다.
임의의 이메일입니다. 그리고 네, 저는 계정 비활성화를 하고 있습니다. 미스터리가 아직 풀리지 않았지만, 소스 코드를 읽지 않았기 때문에 Discourse가 일정 시간 동안 전송을 계속 재시도하는 것 같습니다. 하지만 그것은 추측일 뿐입니다.
실제로 동일한 이메일이 재시도되고 있는 건가요, 아니면 유사한 이메일들인가요? 예를 들어, 주제에 대한 첫 번째 답변에 대한 이메일, 그리고 그 후 두 번째 답변에 대한 이메일 같은 경우 말입니다.
추가 이메일을 어디서 확인하고 계신가요? Discourse 로그, 이메일 제공업체 로그, 아니면 다른 곳인가요?
이메일 제공업체에서 확인한 경우, 전달 실패 유형에 따라 완전히 정상적인 현상일 수 있습니다. 일시적인 실패의 경우, 결국 바운스되기까지 일정 기간 동안 주기적으로 재시도됩니다. 재시도 횟수와 기간은 이메일 제공업체의 설정에 따라 완전히 달라집니다.
바운스가 Discourse로 올바르게 전달되도록 설정되어 있나요? 바운스 이메일이 mail-receiver에 도달하도록 하거나 웹훅을 사용하는 방식 중 하나여야 합니다.
일반적으로 Discourse가 이러한 실패를 통보받는 경우, 사용자의 바운스 점수가 축적되고 특정 임계값(bounce_score_threshold 설정)을 초과하면 Discourse는 해당 사용자에게 이메일을 보내는 시도를 중단합니다.
아마 그렇지 않을 것 같습니다.
그렇게 설정하는 데 필요한 방법이나 튜토리얼 같은 게 있을까요? 저는 Discourse에서 이메일을 보내기 위해 로컬 Postfix 인스턴스를 사용하고, 수신은 mail-receiver 앱을 사용하고 있습니다.
postfix 구성이 바운스(delivery failure) 전달 방식을 변경하지 않는다고 가정할 때, app.yml에 DISCOURSE_NOTIFICATION_EMAIL을 mail-receiver로 전달되는 도메인과 동일하게 설정하는 것만으로 충분할 것입니다.
예를 들어, mail-receiver.yml 설정에서 MAIL_DOMAIN: discourse.example.com을 사용 중이고(해당 도메인으로 전송된 이메일이 mail-receiver로 전달되도록 DNS 레코드가 구성되어 있다면), DISCOURSE_NOTIFICATION_EMAIL은 whatever@discourse.example.com과 같은 형식이 되어야 합니다.
@Simon_Manning 그러면 이 메일들이 Discourse의 반송(Bounced) 메일 로그에 기록되나요?
Postfix로 변경하기 전에는 거기서 반송 메일을 볼 수 있었는데, 지금은 아무것도 안 보입니다.
