Situação
reply_by_email_enableddesativado, não queremos que as pessoas respondam por e-mail- uma categoria restrita a administradores para notificações de um sistema externo
- a categoria possui um endereço de e-mail configurado
email_inestá habilitado- os e-mails são enviados para o endereço de e-mail da categoria
- os e-mails estão retornando com erro
BadDestinationAddress
A causa
Após uma hora de depuração, deparei-me com o seguinte commit: FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub
CORREÇÃO: Proibir respostas a categorias quando a resposta por e-mail estiver desativada (#33641)
Quando a configuração
reply_by_email_enabledestá definida como false, não incluímos mais um link de resposta nas notificações por e-mail. No entanto, não impedimos o recebimento real de e-mails em um endereçoemail_inconfigurado associado a uma categoria. Esta alteração leva em consideração a configuração emEmail::Receiver#check_address.
e o código afetado deixará de retornar uma categoria se reply_by_email_enabled não estiver habilitado.
def self.check_address(address, include_verp = false)
# verifica apenas um grupo/categoria quando 'email_in' está habilitado
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? <-- adicionado
end
Por quê? 
Tenho muitas perguntas:
- por que essa mudança? De fato? Ela torna o sistema apenas menos flexível. Se eu não quiser que as pessoas enviem e-mails para uma categoria, basta remover o endereço de e-mail da categoria?
- por que isso foi implementado dessa maneira?
- aparentemente, o recebimento de e-mails em grupos não é um problema?
- se
reply_by_email_enabledfor false, não há necessidade de procurar a categoria? - ao não retornar a categoria, o erro se torna
BadDestinationAddress, o que é MUITO errado e MUITO difícil de depurar
- a configuração da qual isso agora depende repentinamente se chama resposta por e-mail. Isso não é o que estou fazendo.
- a mesma confusão é visível no título do PR, que se chama “proibir respostas a categorias”, o que não é o que está em questão (no Discourse, uma “resposta a uma categoria” nem é possível).
Além da forma como isso foi implementado, sinceramente, não consigo ver o ponto.
Não consigo pensar em NENHUMA situação em que simplesmente remover o endereço de e-mail da categoria não resolveria o problema se o objetivo for impedir que as pessoas enviem e-mails para uma categoria. E a implicação disso é que agora se tornou impossível ter uma categoria recebendo e-mails sem habilitar a resposta por e-mail em todo o site.
Se houver um motivo realmente bom que eu esteja perdendo, sinta-se à vontade para recategorizar como Contribute > Feature