Confuso dal messaggio di errore da Risposta via email

Potrebbe trattarsi solo di un mio limite personale, ma sono un po’ confuso da alcuni dei messaggi di errore che ricevo dopo aver configurato la risposta via email.

Quando qualcuno risponde a un messaggio da un indirizzo email non associato al proprio account, il messaggio di errore (su un’istanza Discourse autoospitata) potrebbe essere quello sbagliato? Sembra il messaggio che si dovrebbe ricevere se si invia a un indirizzo errato, piuttosto che da un indirizzo non riconosciuto.

Il messaggio che ricevo in questo caso ha l’oggetto Problema email – Indirizzo Destinatario sconosciuto, e il corpo appare così:


Siamo spiacenti, ma il tuo messaggio email a [“SNIP”] (intitolato Re: Aiuto per favore) non è andato a buon fine.

Nessuno degli indirizzi email di destinazione è riconosciuto, oppure l’intestazione Message-ID nell’email è stata modificata. Assicurati di inviare all’indirizzo email corretto fornito dallo staff.


Cambiare l’indirizzo From: nelle mie risposte in modo che corrisponda a quello associato all’account sembra risolvere il problema.

Esiste un modo semplice per modificare questo comportamento? Ho configurato qualcosa in modo errato?

(Dovrei forse dire che ciò che spererei davvero è un’opzione per ignorare completamente l’intestazione From: e utilizzare invece solo la chiave di risposta, come discusso qui; c’è qualche possibilità?).

Ah, forse è perché si tratta di una risposta a un messaggio privato e non a un argomento pubblico, e quindi Discourse pensa che la persona che invia l’e-mail (che non riconosce come utente valido) non dovrebbe essere in grado di inviare a quell’indirizzo?

Questo potrebbe spiegare perché viene segnalato come invalido l’indirizzo del campo To: invece di quello del campo From:?

Nel frattempo, ho modificato il testo di quel messaggio per chiarire che il problema potrebbe essere nel campo From: o nel campo To:.

Perché Discourse dovrebbe accettare un indirizzo email casuale, che non corrisponde a nessun account utente valido sul sito di destinazione? :thinking:

Devi sempre avere un account valido e autenticato per pubblicare qualsiasi cosa su Discourse.

(C’è un’eccezione per gli utenti in fase di staging, ma è specifica per la gestione di una casella di posta tramite i messaggi privati di Discourse)

Questo accade perché l’errore di autorizzazione viene trasformato in un errore “non trovato” da qualche parte nello stack, e poi il codice di invio email utilizza il messaggio relativo a “non trovato”…

Si potrebbe obiettare che il reply_id (che sembra mappare sia l’argomento che la persona che risponde) sia un identificatore sufficiente, e che falsificare il reply_id sia più difficile che falsificare un indirizzo email, quindi è di fatto altrettanto efficace con o senza provenire dall’indirizzo email corretto.

Ma in realtà non sto cercando di sostenere questo. Quello che dici ha perfettamente senso. E, dopo averci riflettuto, mi rendo conto che il fattore che porta a questo comportamento è sicuramente un caso limite (abbiamo SSO che crea un account con indirizzi email universitari, ma le persone a volte inoltrano quelli ad altri indirizzi, da cui rispondono).

La mia vera domanda riguarda il contenuto dell’email di errore che le persone ricevono in quel caso, che sembra possa essere fuorviante. Il vero problema, o almeno ciò che la persona che riceve l’email di errore può controllare in questo caso, è l’indirizzo “From” (e l’indirizzo associato al loro account), non l’indirizzo “To”, per quanto ne so.

Comunque, ho già una soluzione alternativa:

  • modificando il contenuto di quel messaggio (adoro che Discourse sia così personalizzabile!) e
  • dicendo alle persone di cambiare il loro indirizzo email se vogliono usare la risposta tramite email

ma mi chiedo solo se abbia senso modificare qualcosa riguardo ai messaggi di errore inviati in determinate situazioni, data questa potenziale confusione.

Se la risposta a questo è “No, le cose vanno bene così”, va benissimo.

Abbiamo già un supporto preliminare per indirizzi email alternativi per utente.

Mi chiedo @sam e @eviltrout, quando formalizzeremo un po’ di più questa funzionalità in modo che gli utenti possano aggiungere un indirizzo email secondario? Dovrebbe essere aggiunta alla roadmap della versione 2.5?

Penso che dovremmo iniziare rendendo questa funzionalità visibile nella pagina utente dell’amministratore, in modo da poter visualizzare e aggiungere indirizzi email per la 2.5. Forse in un secondo momento potremmo aggiungere un’interfaccia utente basilare nelle pagine di amministrazione per unire gli utenti, ora che disponiamo del task rake ben testato.

Dovremmo convalidare ogni indirizzo, giusto?

Sto ancora cercando di capire perché Discourse si fidi/convalidi l’intestazione From: quando può essere così facilmente falsificata?

L’intestazione Reply-ID fornisce una convalida utile poiché è impossibile da indovinare o conoscere per i malintenzionati.

Convalidare l’intestazione From: causa semplicemente il rifiuto confuso di tentativi legittimi di post tramite email da parte di utenti legittimi se rispondono da un indirizzo email diverso (un caso limite che è più comune di quanto si possa pensare)

L’e-mail è identità. Un “indirizzo e-mail diverso” è come dire “DNA diverso”.

Ho molti indirizzi email, e lo stesso vale per alcuni dei miei utenti.

Non sto cercando di creare conflitti. Sono solo un po’ deluso da questo problema, poiché ha contribuito a far sì che un membro molto importante di uno dei miei forum decidesse di non contribuire più al forum.

Allora dovresti sostenere l’adozione della configurazione con più indirizzi email per utente; scorri verso l’alto e leggi qualcosa, forse?

Purtroppo non so se la funzionalità proposta risolverebbe il problema riscontrato nella mia istanza di Discourse.

Nel mio caso, l’utente è la presidente di un’associazione civica. Aveva due indirizzi email e due account Discourse (uno per ciascun indirizzo). Un account rappresentava la sua identità personale, mentre l’altro era utilizzato per i post “ufficiali” a nome dell’associazione civica.

Quando rispondeva via email, spesso lo faceva dall’indirizzo “sbagliato”, per cui le sue risposte venivano respinte.

Immagino che la funzionalità di cui si discute sopra preveda più indirizzi email per account Discourse, ma (naturalmente) non consenta più account Discourse per un singolo indirizzo email. Di conseguenza, purtroppo, non soddisferebbe il mio caso d’uso.

Non potevi semplicemente unire gli account in modo che uno degli indirizzi email diventasse secondario?

Se non è possibile, purtroppo al momento non ci sono strumenti in Discourse che aiutino gli utenti a ricordare quale ruolo stanno ricoprendo.

Potrei, dal punto di vista tecnico, ma è intenzionale che l’utente possa pubblicare sotto due identità distinte (personale / a nome della società civile).

Sì. A volte le persone si trovano bloccate in quella situazione, ma probabilmente lo definirei più un caso particolare che un caso limite :smile:

Ho capito bene che questa persona ha di fatto due identità, ma entrambe finiscono nella stessa casella di posta per qualche motivo? Se è così, sembra che si imbattano in questo scenario problematico in più contesti, non solo su Discourse. Forse sarebbe meglio gestire la cosa direttamente dal client di posta?

Io ho alcuni alias lavorativi nella mia casella di posta aziendale, ma il client fa corrispondere l’indirizzo “mittente” per le risposte all’indirizzo a cui è stata inviata la mail…

Sono d’accordo, è un caso limite, e se non fosse stata un’utente così di spicco non sarebbe stato un problema così grande.

Per creare due account Discourse, abbiamo utilizzato l’trucchio del punto di Gmail in modo che potesse creare due indirizzi email per la sua casella Gmail e, di conseguenza, due account Discourse.

Quando risponde via email a un post sul forum, Gmail non usa necessariamente la stessa variante dell’indirizzo email che Discourse si aspetta.

A mio avviso, purché l’ID della risposta sia valido, Discourse dovrebbe accettare la risposta.

Il dot hack è estremamente fragile e probabilmente si starebbe molto meglio usando l’indirizzamento con il segno più.

Se entrambi gli account utilizzano un indirizzo con il segno più e nessun account è sull’indirizzo nudo, il selettore dell’indirizzo From: funzionerà correttamente; dimenticare di impostarlo significherà semplicemente che l’email verrà rifiutata invece di essere inviata dall’account sbagliato.

Usare + invece dei punti porta anche molta chiarezza ai tuoi filtri :sweat_smile:

@dan, puoi aggiungerlo alla tua lista?

Ho inviato una pull request per migliorare il supporto per più indirizzi email: