Situazione
reply_by_email_enableddisabilitato, 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é? 
Ho così tante domande:
- 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?
- 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
BadDestinationAddressche è MOLTO sbagliato e DAVVERO difficile da debuggare
- 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