이메일 포워드가 원본 토픽에 저장됨

우리의 디스커스는 정기적으로 상호작용하지는 않지만 때로는 정보를 공유해야 하는 다양한 그룹으로 구성된 광범위한 커뮤니티에 서비스를 제공합니다.
문제는 한 카테고리에서 받은 이메일을 이메일-인(email-in)을 통해 다른 카테고리로 전달하면, 해당 메시지가 사용된 이메일의 카테고리가 아니라 원래 주제(스레드)로 전달된다는 것입니다.

세부 사항:

  • 2.9.0.beta1 실행 중
  • 인스턴스에서 이메일-인과 이메일로 답변(reply-by-mail)이 활성화되어 있습니다.
  • 각 카테고리에 discourse+CATEGORY@... 형식의 이메일이 할당되어 있습니다.

재현 방법:

  • 카테고리 A의 새 게시물에 대한 이메일 알림을 수신합니다.
  • 해당 이메일을 카테고리 B의 이메일(discourse+CAT-B@...)로 전달합니다.
  • 전달된 메시지가 카테고리 A의 원래 스레드에 게시됩니다.

질문: 전달된 이메일이 올바른 카테고리 B에 게시되도록 보장하는 방법은 무엇입니까? (이메일 헤더를 수정하지 않고!)

A 카테고리의 원래 스레드에 도착한다는 말씀이신가요?

다시 말하지만, 저는 아무것도 모른 채로 답변하고 있으며, 곧 누군가가 실제 상황을 알려줄 것입니다 — 하지만 제가 아는 한, 그렇게 처리되어야 하며, 이메일만 변경한다고 해서 답글이 새로운 주제로 바뀌지는 않습니다.

맞아요, 감사합니다 – 수정했습니다!

정리하자면: 해당 사용자는 reply-to를 통해 이메일에 답장하는 것이 아니라, to: 주소를 discourse+cat-B@ 이메일로 수동으로 설정하여 메일을 전달합니다.

이 문제를 재현하지 못하겠습니다. 지금까지 진행한 단계는 다음과 같습니다:

  • CategoryA와 CategoryB를 설정하고 각각 이메일 수신 주소를 지정합니다 (categorya@[MyTestSite] 및 categoryb@[MyTestSite])
  • test_user의 경우 두 카테고리 모두를 Watching(관심) 상태로 설정합니다
  • email time window mins(이메일 시간 창 분)을 1분으로 설정합니다 (선택 사항이지만 과정을 빠르게 합니다)
  • Admin이 CategoryA에 주제를 게시합니다
  • test_user는 CategoryA의 새 주제에 대한 알림 이메일을 받고, 메시지를 첨부하여 CategoryB로 전달(forward)합니다
  • CategoryB에 새 주제가 생성됩니다 (제목이 매우 지저분합니다 :slightly_smiling_face: - Fwd: [JammyDodger's Test Site] [categorya] Topic for Category A), 하지만 의도한 전달 정보가 아닌 추가된 메시지만 포함됩니다

카테고리로 전달된 이메일이 기존 주제에 대한 답변으로 처리되는 문제를 재현하지 못하겠습니다. 대신 시도해 볼 수 있는 다른 방법이 있을까요?

시도해 주셔서 감사합니다!

이메일 클라이언트와 관련이 있을까요? 저는 메시지 그룹화 방식을 “to” 필드가 아닌 “in-reply-to” 필드를 기준으로 사용하는 것을 discourse 탓으로 돌렸습니다…

하, 그 설정은 뭐가 있나요?

image

확신은 없네요? 제 테스트에는 gmail을 사용했는데, 이 정보가 도움이 될까요?

저도 기본값이 그 설정으로 되어 있습니다. :+1:

A mail reply may end up in the wrong category 이 생각나네요

좋은 정보네요 @Moin :+1:

저도 방금 재현을 시도해 보았습니다(주요 차이점은 '답장’을 누른 후 To 주소를 수동으로 변경하는 것이었으며, '전달’을 사용한 것이 아니었습니다), 하지만 제 경우에도 메시지는 다시 카테고리 B의 새 주제로 배치되었습니다. 아마도 이는 클라이언트별로 다를 수 있는 문제일까요? @artur 어떤 클라이언트를 사용하고 계신가요?

방금 제 Gmail 계정으로 시도해 보았지만, 메일은 여전히 원래 카테고리에 들어갔어요.
이상하네요 – 님한테는 작동했다고 하니 놀랍네요!
전달된 메일의 헤더를 확인해 주시겠어요?
예를 들어 References 필드에 원래 토픽 ID가 포함되어 있는 걸 볼 수 있는데, 이것이 to: 필드보다 우선순위가 높을 수 있을까요?

링크 보내주셔서 감사합니다!
제 경우를 제외하면 비슷한 상황인 것 같습니다. 제 상황은 답장이 아니라 메일을 전달하는 것이기 때문에, 여전히 그 동작 원리를 이해하지 못하겠습니다.

답변을 계속 입력하다가 다른 방법을 시도해 볼 생각이 듭니다. :slight_smile: 하지만 아직까지 문제를 재현하지 못했습니다. 관련이 있을 수 있는 몇 가지 사항 - 제 테스트 사이트에는 POP3 대신 mail-receiver를 설정해 두었고, 첫 게시물/OP를 전달하고 계신 건가요, 아니면 답변을 전달하고 계신 건가요?

POP3를 사용하고 있으며 첫 번째 게시물을 전달하고 있습니다.

도움 주셔서 감사합니다!

안녕하세요 @JammyDodger. 대부분의 카테고리가 과거에 Category mirrors a mailing list로 설정되어 있다는 걸 방금 깨달았습니다. 이 옵션을 활성화했을 때 문제를 재현해 보실 수 있을까요?
테스트 인스턴스에서 이 옵션을 비활성화해 봤는데, 이상한 동작이 해결되는 것 같습니다.

방금 Category mirrors a mailing list를 Category A와 Category B 모두에 활성화한 상태로 테스트해 보았고, 이제 해당 문제를 재현할 수 있습니다. :partying_face:

  • CategoryA와 CategoryB를 설정하고 각각의 메일 수신 주소를 지정합니다 (categorya@[MyTestSite] 및 categoryb@[MyTestSite])
  • 각 카테고리에 대해 Category mirrors a mailing list를 설정합니다
  • test_user를 두 카테고리 모두에 대해 Watching 상태로 설정합니다
  • email time window mins를 1분으로 설정합니다 (선택 사항이지만 처리 속도를 높여 줍니다)
  • 관리자가 CategoryA에 주제를 게시합니다
  • test_user는 CategoryA의 새 주제에 대한 알림 메일을 받은 후, CategoryB로 메시지를 포함하여 메일을 전달합니다
  • 전달된 메일은 Category A의 원래 주제에 대한 답변으로 나타납니다

메일링 리스트에 대해 잘 아는 편은 아니지만, 이것이 버그인가요, 아니면 설정 충돌인가요?

@dachary 님의 문제에도 도움이 될 수 있을까요?

확인해 주셔서 감사합니다!

미러 메일링 리스트 옵션의 기능을 다시 읽어본 결과, 이는 버그가 아니라 의도된 동작인 것 같습니다:

  • 보통 find_related_post_with_key는 사이트 설정에서 활성화되어 있습니다. 이메일 주소를 기반으로 한 사용자 사칭을 허용하기 때문에 사이트 전체에서 비활성화하는 것은 권장되지 않습니다. 메일링 리스트로 발송된 수신 이메일은 항상 해당 이메일의 Message-ID를 사용하여 관련 게시물을 찾으며, 해당 사이트 설정 값은 무시됩니다.

제가 이 옵션을 유지한 주된 이유는 다른 점 때문입니다:

  • 일반적으로 Discourse는 수신 이메일에 마크다운 형식의 텍스트가 포함되어 있을 것을 기대합니다. 메일링 리스트 사용자는 이러한 요구 사항을 잘 알지 못하므로, Discourse는 일반 텍스트 이메일 내에서 마크다운(세 개의 백틱으로 둘러싸인 코드 블록 제외)이나 HTML을 해석하지 않고, 원래 형식을 그대로 유지한 채 게시합니다.

마크다운에 대해 전혀 모르는 사람들에게는 합리적인 조치라고 생각합니다. :slight_smile:

기꺼이 도와드리겠습니다. :slight_smile: 그리고 이 주제를 Support 채널로 옮겼습니다. :+1:

이제 설정들이 어떻게 함께 작동하는지에 대해 더 잘 아시는 만큼, 원하시는 작동 방식에 대한 대략적인 구상을 해 보실 수 있으신가요?

그래서 순수한 메일링 리스트 미러 사이트로서는 제 역할을 제대로 수행하고 있다고 생각합니다.
사용자들이 마크다운을 어떻게 처리할지 지켜보겠습니다 - 마크다운 사용이 기대된다는 사실을 그들은 확실히 모르고 있으니까요!

메일링 리스트 미러 기능을 전체적으로 비활성화했을 때 실제로 발생한 문제는, 일부 사용자를 대신하여 자동 생성된 메시지가 전송될 때 Discourse::InvalidAccess 오류가 발생한다는 점입니다. 거절 메시지는 다음과 같이 표시됩니다.

해당 카테고리에 새 주제를 게시할 권한이 없습니다.

그런데 같은 사용자의 경우 이전에 잘 작동했었습니다. 그래서 미러 옵션이 해당 보호 기능을某种程度으로 비활성화하는 것 같습니다.