Temos uma instância auto-hospedada do Discourse no modo de lista de e-mails, criada para substituir o mailman.
Temos 3 categorias configuradas com endereços de e-mail de entrada personalizados que criam tópicos, o que parecia estar funcionando corretamente.
Infelizmente, percebemos que usuários sem permissões de “Criar” na categoria podiam criar tópicos enviando e-mails.
Ajustei as “Notificações por e-mail de entrada” para restringir a capacidade de criar tópicos por e-mail a certos grupos privilegiados. Infelizmente, usuários que não estão nos grupos privilegiados ainda podem criar tópicos por e-mail.
Parei e iniciei o aplicativo e esse comportamento continuou. Também tentei atualizar o aplicativo para a versão mais recente no branch tests-passed (3.2.0 beta5-dev Commits · discourse/discourse · GitHub), mas infelizmente isso não ajudou. A versão mais antiga era de cerca de 2 semanas atrás.
“Categoria espelha uma lista de e-mails” está marcada para todas as 3 categorias.
Seria ótimo se pudéssemos restringir a postagem por e-mail a grupos específicos para cada categoria, pois isso se assemelharia mais às permissões das listas de e-mails das quais migramos.
Respostas por e-mail estão sendo negadas para usuários de uma forma que corresponde a “Responder” nas configurações de segurança da categoria. Seria ótimo se a criação de um tópico por e-mail também estivesse vinculada às configurações de “Criar”.
Qualquer ajuda ou orientação seria muito apreciada, por favor, me avisem se precisarem de alguma informação.
Muito obrigado pela sua mensagem. Pela leitura desta documentação, parece que o que estamos a tentar alcançar é o comportamento esperado do Discourse.
Lendo a documentação vinculada, esta parte é a mais relevante:
Por que usar uma categoria?
Usar uma category é útil se você quiser simular uma lista de e-mails.
Estamos a usar categorias por esta razão
Enviar um e-mail para uma category criará um tópico nessa categoria.
Esta parte está a funcionar corretamente
Qualquer pessoa com acesso a essa category pode ler e responder usando a interface web ou por e-mail.
Isto também está a funcionar corretamente
E-mails enviados para uma category devem respeitar as configurações de segurança da categoria.
Utilizadores que não podem responder na UI Web recebem um ReplyNotAllowedError ao ver os logs de e-mail, o que é o que queremos. Utilizadores que não podem criar um tópico através da UI Web conseguem criar um tópico ao enviar um e-mail para o endereço de e-mail de entrada, que é um dos problemas que estamos a ter. Eles conseguem até criar tópicos em categorias que não conseguem ver
E-mails enviados para uma category devem respeitar a configuração do site email in allowed groups.
Comecei a usar esta configuração para impedir que grupos não autorizados criassem tópicos da maneira acima, mas isso também não funciona.
Você pode desativar staged users por category.
A nossa instância do Discourse é apenas por convite, por isso os staged users estão desativados e qualquer utilizador desconhecido recebe um erro StrangerNotAllowed, que é o comportamento desejado
Tentei parar e iniciar a aplicação e atualizar a aplicação através da GUI web. Recomendaria uma reconstrução completa?
Quais logs seriam mais relevantes para estes problemas?
Só uma rápida atualização. Acabei de tentar reconstruir o aplicativo, mas o comportamento permaneceu o mesmo, infelizmente. Tentarei encontrar mais logs para descobrir por que isso está acontecendo.
Após algumas investigações e testes, descobri que se você marcar “category mirrors a mailing list” (categoria espelha uma lista de e-mail), a validação será ignorada, como você pode ver aqui no código-fonte:
Assim que desmarquei esta opção, as permissões funcionaram como esperado: