우리는 메일링 리스트 모드로 자체 호스팅된 Discourse 인스턴스를 운영 중이며, 이는 mailman을 대체하기 위해 구축되었습니다.
토픽을 생성하는 맞춤형 수신 이메일 주소를 설정한 3개의 카테고리를 구성했으며, 처음에는 정상적으로 작동하는 것으로 보였습니다.
불행히도, 해당 카테고리에 “생성” 권한이 없는 사용자가 이메일을 보내서도 토픽을 생성할 수 있다는 사실을 발견했습니다.
“이메일 알림 수신” 설정을 조정하여 이메일을 통한 토픽 생성 권한을 특정 권한 그룹으로 제한했습니다. 그러나 권한 그룹에 속하지 않은 사용자도 여전히 이메일을 통해 토픽을 생성할 수 있습니다.
앱을 재시작해 보았지만 이 문제는 계속되었습니다. 또한 tests-passed 브랜치의 최신 버전(3.2.0 beta5-dev Commits · discourse/discourse · GitHub)으로 업데이트를 시도해 보았지만, 불행히도 문제가 해결되지 않았습니다. 이전 빌드는 약 2주 전 것이었습니다.
모든 3개 카테고리에 “카테고리가 메일링 리스트를 미러링” 옵션이 체크되어 있습니다.
이메일을 통한 게시를 카테고리별로 특정 그룹으로 제한할 수 있다면, 이전으로 이관한 메일링 리스트의 권한 구조와 더 유사해질 수 있을 것입니다.
현재 이메일로 답글을 보내는 동작은 카테고리의 보안 설정에서 “답글” 권한과 일치하는 방식으로 사용자가 거부되고 있습니다. 이메일로 토픽을 생성하는 동작도 “생성” 설정과 연계되기를 바랍니다.
메시지를 보내주셔서 정말 감사합니다. 해당 문서를 읽어본 결과, 우리가 달성하려는 것은 Discourse에서 예상되는 동작 방식인 것 같습니다.
링크된 문서 중 가장 관련이 있는 부분은 다음과 같습니다:
왜 카테고리를 사용해야 하는가?
category를 사용하는 것은 메일링 리스트를 시뮬레이션하고 싶을 때 유용합니다. 우리는 이 목적으로 카테고리를 사용하고 있습니다
category로 이메일을 보내면 해당 카테고리에 토픽이 생성됩니다. 이 부분은 올바르게 작동하고 있습니다
해당 category에 접근 권한이 있는 사용자는 웹 인터페이스 또는 이메일을 통해 읽고 답글을 보낼 수 있습니다. 이 부분도 올바르게 작동하고 있습니다
category로 보내는 이메일은 해당 카테고리의 보안 설정을 준수해야 합니다. 웹 UI에서 답글을 보낼 수 없는 사용자는 이메일 로그를 확인 시 ReplyNotAllowedError를 받게 되며, 이는 우리가 원하는 동작입니다. 그러나 웹 UI를 통해 토픽을 생성할 수 없는 사용자가 수신 이메일 주소로 이메일을 보낼 때는 토픽을 생성할 수 있으며, 이것이 우리가 겪고 있는 문제 중 하나입니다. 심지어 그들은 자신이 볼 수 없는 카테고리에서도 토픽을 생성할 수 있습니다
category로 보내는 이메일은 email in allowed groups 사이트 설정을 준수해야 합니다. 위와 같은 방식으로 무단 그룹이 토픽을 생성하는 것을 방지하기 위해 이 설정을 사용하기 시작했지만, 이것도 작동하지 않습니다.
category별로 staged users(단계별 사용자)를 비활성화할 수 있습니다. 우리의 Discourse 인스턴스는 초대 전용이므로 staged users는 비활성화되어 있으며, 알 수 없는 사용자는 StrangerNotAllowed 오류를 받게 되며, 이는 원하는 동작입니다
앱을 정지하고 다시 시작해 보았고, 웹 GUI를 통해 앱을 업그레이드도 해 보았습니다. 전체 재빌드를 권장하시나요?