Setting up bounces handling
Discourse uses the Variable envelope return path (VERP) technique to handle bouncing e-mails.
To enable VERP, set the “reply by email address” site setting with an email address template that uses the + sign. The default of
replies+%{reply_key}@discourse.example.com
… works fine. If you are using your own or your company’s email server, then, that’s it
Your discourse instance must be able to receive email sent to this address. This should work via POP, bu…
위 링크된 설명을 따라 SES를 SNS 이메일 전달로 설정했습니다. 두 가지 문제가 발생하고 있습니다.
1. 거부/불만 이메일이 Discourse에 수신되지 않음
현재 SES 이메일 불만 건수가 급증하고 있어, 이메일 거부를 수신하고 처리하는 것이 매우 중요합니다. 그러나 위의 설명대로 설정해도 바운스가 들어오고 있음에도 불구하고 ‘이메일 거부’ 탭에 아무 결과도 표시되지 않습니다.
SES 메일박스 시뮬레이터 로 이메일을 보내더라도 거부된 이메일이 표시되지 않습니다.
2. 바운스된 이메일 상세 정보에 Discourse::NotFound 오류 표시
어떤 바운스된 이메일 행에서든 (i) 아이콘을 클릭하면 오류가 발생합니다.
이메일 로깅 설정을 켜고 /logs URL을 확인해도 필터 용어 "mail"을 사용하여 로그에서 명확히 잘못된 부분을 찾을 수 없습니다.
이것은 SES의 “원본 헤더 포함” 설정이 켜져 있든 꺼져 있든 상관없이 동일한 것 같습니다.
관련 주제
“이메일 유형” 필드(예: user_watching_first_post)를 클릭하면 원래 수신자에게서 받은 바운스 메시지의 세부 정보가 표시되도록 설계된 것 같습니다.
하지만 제 셀프호스팅 사이트에서는 위에서 언급한 오류 메시지가 표시됩니다. 이 문제를 해결할 수 있는 방법이 있을까요?
감사합니다.
Discourse가 Amazon SES의 SNS 알림을 처리하기 위한 엔드포인트를 제공한다는 사실을 알고 있었습니다. 해당 엔드포인트는 /webhooks/aws이며, 아래 링크를 통해 이를 알게 되었습니다:
https://meta.discourse.org/t/handling-bouncing-e-mails/45343/177?u=wlandgraf
모든 것이 “거의” 정상적으로 작동하고 있습니다. CloudWatch 로그를 통해 AWS가 해당 엔드포인트로 알림을 보내고 있는 것을 확인할 수 있으며, 원시 메시지를 보내도록 설정한 후 Discourse가 알림에 대해 성공 상태 코드(200)로 응답하는 것도 확인했습니다.
하지만 이메일이 Discourse의 “Bounced” 이메일 목록에 표시되지 않습니다. 추가로 해야 할 작업이 있을까요? AWS에서 알림을 받은 후 엔드포인트가 실제로 무엇을 수행했는지 보여주는 로그를 어떻게 확인할 수 있을까요?
성질 고집이 있어서 삭제된 설정 안내 메시지도 보고 싶어서 웹 아카이브를 뒤지고 있네요 ㅋㅋ Handling bouncing e-mails - admins - Discourse Meta
@renato 최신 SES 이메일 전달 설정 안내를 파악한 것 같은데, 제가 겪고 있는 문제를 혹시 겪어보셨나요?
Discourse는 훌륭한 포럼이지만, 이메일 처리 방식이 다소 체계적이지 않습니다. 답을 찾거나 완벽을 추구하는 데는 이미 포기했는데, 그다지 체계적이지 않아도 괜찮았기 때문입니다. 그래도 질문하신 내용에 대한 답변에는 여전히 관심이 있습니다. 특히 Mailgun에서 더 저렴한 Amazon SES로 이전하는 것을 고려하고 있기 때문입니다.
현재 거절(rejections) 처리를 위한 수동 우회 방법으로 이렇게 하고 있습니다. 하지만 SES에서 거절과 바운스(bounces) 모두에 대해 ‘올바른’ 해결책을 찾고 싶습니다.
SES는 기본적으로 불만(complaint) 이메일을 보고하지 않습니다. 더 많은 정보를 수집하려면 CloudWatch에 연결하려면 다음 지침을 사용하세요. How to Log Amazon SES details using Amazon CloudWatch | AWS Messaging Blog (동작하도록 포함된 템플릿을 Python의 더 새로운 버전으로 수동으로 업데이트해야 했습니다)
이 옵션을 선택한 경우, 불만 이메일에 대한 CloudWatch > Logs > Log groups 항목이 생성됩니다. 전송된 이메일 목록을 확인하고 정확한 이메일 주소를 자세히 살펴볼 수 있습니다.
그 다음 CloudWatch > Log Insights를 사용하여 데이터를 쿼리하여 더 간단한 요약을 얻을 수 있습니다.
확인하려는 시간 범위를 설정하는 것을 잊지 마세요. 이 설정은 페이지 로드마다 초기화됩니다.
아래 쿼리를 향후 사용을 위해 저장해 두었습니다. 오른쪽 막대 > queries > saved queries에서 찾을 수 있습니다. 다만 찾기가 다소 어렵습니다. 필요 시 Ctrl+F를 사용하세요.
fields complaint.complainedRecipients.0.emailAddress as email
| limit 500
| stats count(*) as count by email
| sort count desc
renato
(Renato Atilio)
12월 6, 2022, 12:34오후
5
네, 이전에 그 글을 올렸을 때 이 설정이 잘 작동했지만, 지금은 이미 꽤 오래 전부터 깨져 있는 상태입니다. 이제 Discourse에서 반송된 이메일을 전혀 볼 수 없어요.