카테고리 이메일에 reply_by_email_enabled가 필요한가요?

상황

  • reply_by_email_enabled가 비활성화되어 있으며, 우리는 사람들이 이메일로 답장하는 것을 원하지 않습니다
  • 외부 시스템의 알림을 위한 관리자 전용 카테고리
  • 해당 카테고리에 이메일 주소가 설정되어 있음
  • email_in이 활성화되어 있음
  • 이메일이 카테고리의 이메일 주소로 전송됨
  • 이메일이 BadDestinationAddress와 함께 바운스(bounce)됨

원인

1시간 동안 디버깅을 한 끝에 다음 커밋을 발견했습니다: FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub

FIX: Disallow replies to categories when reply by email disabled (#33641)

When the reply_by_email_enabled setting is set to false, we no longer include a reply link in e-mail notifications. However, we do not prevent actual e-mails to a configured email_in address associated with a category. This change into consideration the setting in Email::Receiver#check_address.

그리고 영향을 받은 코드reply_by_email_enabled가 활성화되지 않은 경우 더 이상 카테고리를 반환하지 않습니다.

    def self.check_address(address, include_verp = false)
      # only check for a group/category when 'email_in' is enabled
      if SiteSetting.email_in
        group = Group.find_by_email(address)
        return group if group

        category = Category.find_by_email(address)
        return category if category && SiteSetting.reply_by_email_enabled? <-- added
      end

왜일까요? :scream:

저에게는 정말 많은 질문이 있습니다:

  1. 왜 이런 변경이 이루어졌을까요? 아예 왜 그랬을까요? 이는 시스템의 유연성을 더 떨어뜨릴 뿐입니다. 만약 사람들이 카테고리로 이메일을 보내는 것을 원하지 않는다면, 단순히 카테고리에서 이메일 주소를 제거하면 되지 않나요?
  2. 왜 이런 방식으로 구현되었을까요?
    -Apparently 그룹으로의 이메일 수신은 문제가 아닌 것 같습니다?
  • reply_by_email_enabled가 false라면 카테고리를 조회할 필요조차 없지 않나요?
  • 카테고리를 반환하지 않음으로써 오류가 BadDestinationAddress가 되는데, 이는 매우 잘못되었고 디버깅이 정말로 어렵습니다
  1. 이제 갑자기 의존하게 된 이 설정의 이름은 reply(답장) by email입니다. 제가 하고 있는 것은 그 것이 아닙니다.
  2. PR 제목에도 같은 혼란이 드러나는데, “disallow replies to categories”(카테고리에 대한 답장 금지)라고 되어 있지만, 이는 이 사안의 본질이 아닙니다(Discourse에서 "카테고리에 대한 답장"은 심지어 불가능합니다).

구현 방식 외에도, 저는 진심으로 그 의도를 이해하지 못하겠습니다.

사람들이 카테고리로 이메일을 보내는 것을 방지하려면 카테고리에서 이메일 주소를 단순히 제거하는 것으로 충분하지 않은 상황을 저는 생각조차 할 수 없습니다. 그리고 이 함의는 이제 사이트 전체의 이메일 답장(reply by email)을 활성화하지 않고 이메일을 수신하는 카테고리를 가질 수 없게 되었다는 것입니다.

제가 놓치고 있는 정말 좋은 이유가 있다면, #contribute:feature로 재분류해 주셔도 좋습니다.

5개의 좋아요

사실 이 문제를 제가 직접 알아냈고, 이미 조사하고 있습니다.

FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub 에서 수행된 수정이 부작용에 의존하고 부작용을 도입했기 때문에 좋지 않았다는 데 동의합니다. 하지만 테스트 구성상 해당 부작용을 트리거할 조건이 존재하지 않아서 우리가 그 사실을 인지하지 못했습니다. 지금 바로 이를 수정하고 있습니다.

3개의 좋아요

제안하는 수정 사항:

3개의 좋아요

@RGJ - 이 사항이 병합되었습니다. 업데이트 후 설정이 의도대로 작동하는지 확인해 주시겠어요?

2개의 좋아요

네, 이제 완벽하게 작동합니다! 감사합니다 :slight_smile:

2개의 좋아요