Categoria email em requer reply_by_email_enabled?

Situação

  • reply_by_email_enabled desativado, nós não queremos que as pessoas respondam por e-mail
  • uma categoria apenas para administradores para notificações de um sistema externo
  • a categoria tem um endereço de e-mail configurado
  • email_in está ativado
  • e-mails são enviados para o endereço de e-mail da categoria
  • e-mails estão retornando com BadDestinationAddress

A causa

Após uma hora de depuração, encontrei o seguinte commit do Discourse: 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)

Quando a configuração reply_by_email_enabled é definida como false, não incluímos mais um link de resposta nas notificações por e-mail. No entanto, não impedimos e-mails reais para um endereço email_in configurado associado a uma categoria. Esta alteração leva em consideração a configuração em Email::Receiver#check_address.

e o código afetado não retornará mais uma categoria se reply_by_email_enabled não estiver ativado.

    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

Por quê? :scream:

Eu tenho tantas perguntas:

  1. por que essa mudança? De jeito nenhum? Isso só torna o sistema mais inflexível. Se eu não quero que as pessoas enviem e-mail para uma categoria, eu simplesmente removeria o endereço de e-mail da categoria?
  2. por que isso é implementado dessa forma?
  • aparentemente, receber e-mail em grupos não é um problema?
  • se reply_by_email_enabled for falso, não há necessidade de iterar pelas categorias?
  • ao remover a categoria da lista de categorias, o erro se torna BadDestinationAddress, o que é MUITO errado e REALMENTE difícil de depurar
  1. a configuração da qual isso agora depende subitamente se chama responder por e-mail. Isso não é o que estou fazendo.

Além da forma como isso foi implementado, eu honestamente não vejo o sentido.

Eu não consigo pensar em NENHUMA situação em que simplesmente remover o endereço de e-mail da categoria resolveria o problema se alguém quisesse impedir que as pessoas enviassem e-mails para uma categoria. E a implicação disso é que agora se tornou impossível ter uma categoria recebendo e-mails sem ativar a resposta por e-mail em todo o site.

Se houver uma razão muito boa que estou perdendo, sinta-se à vontade para recategorizar como Feature

3 curtidas