¿La categoría de correo electrónico requiere reply_by_email_enabled?

Situación

  • reply_by_email_enabled desactivado, no queremos que la gente responda por correo electrónico
  • una categoría solo para administradores para notificaciones de un sistema externo
  • la categoría tiene una dirección de correo electrónico configurada
  • email_in está habilitado
  • se envían correos electrónicos a la dirección de correo electrónico de la categoría
  • los correos electrónicos están rebotando con BadDestinationAddress

La causa

Después de una hora de depuración, encontré el siguiente commit de GitHub: FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub

ARREGLO: Deshabilitar respuestas a categorías cuando la respuesta por correo electrónico está deshabilitada (#33641)

Cuando la configuración reply_by_email_enabled se establece en false, ya no incluimos un enlace de respuesta en las notificaciones por correo electrónico. Sin embargo, no impedimos los correos electrónicos reales a una dirección email_in configurada asociada con una categoría. Este cambio tiene en consideración la configuración en Email::Receiver#check_address.

y el código afectado ya no devolverá una categoría si reply_by_email_enabled no está habilitado.

    def self.check_address(address, include_verp = false)
      # solo verificar grupo/categoría cuando '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? # <-- añadido
      end

¿Por qué? :scream:

Tengo muchas preguntas:

  1. ¿Por qué este cambio? ¿En absoluto? Solo hace que el sistema sea más inflexible. Si no quiero que la gente envíe correos electrónicos a una categoría, ¿simplemente eliminaría la dirección de correo electrónico de la categoría?
  2. ¿Por qué está implementado de esta manera?
  • ¿aparentemente la entrada de correo electrónico a los grupos no es un problema?
  • si reply_by_email_enabled es falso, ¿no hay necesidad de iterar a través de las categorías?
  • al eliminar la categoría de la lista de categorías, el error se convierte en BadDestinationAddress, lo cual es MUY incorrecto y REALMENTE difícil de depurar
  1. La configuración de la que ahora depende repentinamente se llama respuesta por correo electrónico. Eso no es lo que estoy haciendo.

Además de la forma en que se implementó, sinceramente no veo el sentido.

No puedo pensar en NINGUNA situación en la que simplemente eliminar la dirección de correo electrónico de la categoría haría el trabajo si uno quiere evitar que la gente envíe correos electrónicos a una categoría. Y la implicación de esto es que ahora se ha vuelto imposible tener una categoría que reciba correos electrónicos sin habilitar la respuesta por correo electrónico en todo el sitio.

Si hay una razón realmente buena que me estoy perdiendo, no duden en recategorizar como Feature

4 Me gusta

De hecho, me di cuenta de esto yo mismo y ya lo estoy investigando.

Estoy de acuerdo en que la corrección realizada en FIX: Disallow replies to categories when reply by email disabled (#33… · discourse/discourse@e05ef50 · GitHub fue mala, ya que se basaba e introducía un efecto secundario, pero no lo notamos porque las pruebas están organizadas de tal manera que las condiciones para activarlo no estaban presentes. Estoy trabajando para corregir eso ahora.

2 Me gusta