La categoria email richiede reply_by_email_enabled?

Situazione

  • reply_by_email_enabled disabilitato, non vogliamo che le persone rispondano via email
  • una categoria solo per amministratori per le notifiche da un sistema esterno
  • la categoria ha un indirizzo email configurato
  • email_in è abilitato
  • le email vengono inviate all’indirizzo email della categoria
  • le email rimbalzano con BadDestinationAddress

La causa

Dopo un’ora di debug, mi sono imbattuto nel seguente commit di GitHub: 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 l’impostazione reply_by_email_enabled è impostata su false, non includiamo più un link di risposta nelle notifiche via e-mail. Tuttavia, non impediamo le e-mail effettive a un indirizzo email_in configurato associato a una categoria. Questa modifica tiene in considerazione l’impostazione in Email::Receiver#check_address.

e il codice interessato non restituirà più una categoria se reply_by_email_enabled non è abilitato.

    def self.check_address(address, include_verp = false)
      # controlla solo per un gruppo/categoria quando 'email_in' è abilitato
      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?  #<-- aggiunto
      end

Perché? :scream:

Ho così tante domande:

  1. perché questa modifica? In assoluto? Rende solo il sistema più inflessibile. Se non voglio che le persone inviino email a una categoria, rimuoverei semplicemente l’indirizzo email dalla categoria?
  2. perché è implementato in questo modo?
  • apparentemente l’email in ai gruppi non è un problema?
  • se reply_by_email_enabled è falso, non c’è bisogno di scorrere le categorie?
  • rimuovendo la categoria dall’elenco delle categorie l’errore diventa BadDestinationAddress che è MOLTO sbagliato e DAVVERO difficile da debuggare
  1. l’impostazione da cui ora dipende improvvisamente si chiama risposta via email. Non è quello che sto facendo.

A parte il modo in cui è stato implementato, onestamente non ne vedo il senso.

Non riesco a pensare a NESSUNA situazione in cui la semplice rimozione dell’indirizzo email dalla categoria farebbe il lavoro se si vuole impedire alle persone di inviare email a una categoria. E l’implicazione è che ora è diventato impossibile avere una categoria che riceve email senza abilitare la risposta via email a livello di sito.

Se c’è una ragione davvero valida che mi sfugge, sentitevi liberi di riclassificare come Feature

4 Mi Piace