다른 Discourse 서버의 이메일 전달 알림을 받지 못함

재현

  • Discourse 사이트 A에서 "첫 게시물 보기"로 설정된 카테고리를 통해 유용한 이메일 알림을 수신합니다.
  • 해당 이메일 알림을 기존 그룹에 새 메시지를 생성하도록 설정된 이메일 주소를 통해 Discourse 사이트 B로 전달합니다.

기대 결과

콘텐츠가 올바르게 처리되고 개인 메시지가 생성됩니다.

실제 결과

이메일이 처리되지 않고 메시지가 생성되지 않으며, 전달자에게 다음과 같은 반송 이메일 알림이 수신됩니다:

죄송합니다. discourse-site-b@example.org(제목: Fw: [Discourse Site A] [Announcements] Big News)로 보낸 이메일 메시지가 작동하지 않았습니다. 이메일 처리 중 인식할 수 없는 오류가 발생하여 게시되지 않았습니다. 다시 시도하시거나 스태프에게 문의해 주세요.

2개의 좋아요

가장 먼저 자동 생성된 이메일 차단 설정을 확인해 보시는 것을 추천합니다.

그 조언에 감사합니다. 이메일을 내 이메일 클라이언트에서 수동으로 전달했기 때문에 해당 헤더를 보내지 않았지만,您的评论 덕분에 에러 로그에 비슷한 문제가 실제로 있는지 확인해 보게 되었습니다.

에러는 /admin/email/rejected에서 발견되었습니다:

undefined method 'lines' for nil:NilClass

저보다 더 잘 아시는 분께 도움이 될지는 모르겠습니다.


업데이트: 또 다른 데이터 포인트입니다. 다른 사람의 이메일을 전달하려고 했을 때, 위에서 언급한 것과 동일한 거부 이메일과 동일한 로그 에러가 발생했습니다. 이는 Microsoft Outlook/Exchange 클라이언트가 전달된 메시지를 처리하는 방식과 더 관련이 있을 수 있음을 시사합니다. 제 쪽에서 조사를 계속할 것입니다.

4개의 좋아요

확실히 수정해야 할 버그로 보입니다. 다만, 해당 문제가 수정되더라도 전달받은 이메일에는 일괄 발송 메일(bulk emailer)로 판단될 수 있는 헤더가 포함되어 있어, 해당 발신자를 어떻게든 화이트리스트에 추가해야 합니다.

@zogstrip ‘lines’ 메서드가 nil 클래스에서 발생하는 문제를 따로 이슈로 등록해야 하지 않을까요?

3개의 좋아요

이 버그가 해결된다면, 메일이 차단되는 이유에 대해 좀 더 많은 통찰력을 얻을 수 있을까요?

서버가 추가할 수 있는 헤더를 더 자세히 살펴보겠습니다. 다른 분들이 더 자세히 보고 싶으시다면 개별적으로 공유할 수도 있지만, 지금은 좀 이른감이 있습니다.

3개의 좋아요

네, 그 버그가 실제 문제를 가리고 있는 것 같네요. 버그를 해결하면 상황이 조금 더 어려워질 거예요.

5개의 좋아요

5개의 좋아요

@gerhard 해당 코드 경로를 마지막으로 수정한 사람이니 한번 살펴봐 주시겠어요?

5개의 좋아요

문제를 재현할 수는 없지만, 코드에서 실패할 수 있는 부분을 확인했습니다.
@downey 원본 이메일을 DM으로 보내주실 수 있을까요? 올바른 수정을 적용하고 있는지 확인하고 싶습니다.

5개의 좋아요

예시 이메일을 받은 적이 없지만, 근본적인 문제를 수정했습니다.

전달된 이메일과 관련된 문제가 여전히 발생하고 있다면 새로운 버그 리포트를 작성해 주세요.

4개의 좋아요