Email "unrevoke" e registrazione di messaggi non inviati per email revocate

Sto lavorando con un utente per risolvere il problema della mancata ricezione delle email e ho scoperto l’azione “revoca email” registrata per il suo account. Come posso annullare o invertire questa azione?

Inoltre: se l’email di un utente viene revocata, questo viene riflesso nei log Email inviate o Email saltate? O solo nell’azione Revoca email?

Continuo la discussione da Cosa significa l’azione ‘revoca email’ nei log?:

L’azione di revoca dell’email viene attivata quando più email inviate a un utente rimbalzano (non vengono consegnate). Ogni volta che un’email rimbalza, il “punteggio di rimbalzo” dell’utente viene incrementato del valore impostato dalle opzioni soft bounce score o hard bounce score del tuo sito. Una volta che il punteggio di rimbalzo di un utente raggiunge il valore impostato dall’opzione bounce score threshold del tuo sito (predefinito a 4), viene attivata l’azione di revoca dell’email.

Puoi annullare questa azione accedendo alla pagina di amministrazione dell’utente e cliccando sul pulsante “Reset” presente nella riga “Bounce Score” vicino alla parte superiore della pagina.

Se non clicchi sul pulsante Reset, Discourse cancellerà automaticamente il punteggio di rimbalzo dell’utente dopo il periodo di tempo impostato dall’opzione reset bounce score after days. Questa opzione ha come valore predefinito 30 giorni. Trascorso tale periodo, Discourse tenterà nuovamente di inviare email all’utente.

Se un’email non viene inviata a un utente che ha superato la soglia bounce score threshold del sito, verrà aggiunta una voce nei log Skipped. Il motivo dell’omissione (Skip Reason) verrà impostato su “Exceeded bounce_score_threshold”.

Grazie. Quindi, se vedo “Exceeded bounce_score_threshold” nel registro Skipped per un messaggio email recente inviato all’utente X, posso assumere che in precedenza sia stata eseguita un’azione “revoke email” per quell’utente, e viceversa?

Il contesto è che uno dei miei utenti non riceve email dalla nostra istanza di Discourse. È molto competente, quindi mi fido delle sue segnalazioni secondo cui ha controllato la cartella spam, ecc. Avevo resettato il suo punteggio di rimbalzo un po’ di tempo fa, ma solo oggi ho scoperto casualmente la voce “Revoke Email” nel registro relativa a lui.

Questo è interessante. Avevo supposto che il punteggio di rimbalzo venisse azzerato per coloro i cui indirizzi email non erano ancora stati disabilitati (come funziona con Mailman). Immagino che l’approccio più vicino sia impostare questa opzione a circa 10 anni!

Per quanto ne so, Discourse reimposta sempre il punteggio di rimbalzo di un utente e poi tenta di inviare nuovamente le email all’utente. L’unica differenza tra come vengono gestiti i rimbalzi temporanei e quelli permanenti è che i rimbalzi permanenti incrementano il punteggio di rimbalzo di un valore predefinito di 2 (impostato dalla configurazione del sito hard bounce score) invece che di un valore predefinito di 1 (impostato dalla configurazione del sito soft bounce score).

Questo lo farebbe, ma potrebbe avere conseguenze indesiderate. Ad esempio, gli utenti che hanno superato la soglia del punteggio di rimbalzo a causa del recente disservizio di Gmail dovrebbero attendere 10 anni affinché il loro punteggio di rimbalzo venga reimpostato automaticamente.

Mailman 2 ha valori predefiniti più elevati per le impostazioni e le soglie di rimbalzo, ma una volta raggiunta la soglia vieni disiscritto. Posso capire l’argomento in entrambi i sensi. Modifica: non ricordo i dettagli, ma credo che in qualche momento venga offerta la possibilità di rispondere a un’email amministrativa, il che resetta il punteggio di rimbalzo e ti mantiene nella lista.

Molte persone che ospitano autonomamente Discourse utilizzano probabilmente Mailgun, che mantiene l’indirizzo email nella propria lista di soppressione dopo un singolo “fallimento permanente” e quindi ignorerà l’approccio più tollerante di Discourse.

A quanto pare è possibile ottenere tale lista di soppressione tramite l’API di Mailgun e immagino che potrebbe anche essere possibile sincronizzarla con le impostazioni di Discourse.

Oggi ho ricevuto un’email da Google che affermava in modo inequivocabile che qualcuno aveva ottenuto la mia password: “Google ha rilevato che un’altra persona conosce la tua password”, quindi mi chiedo se ciò sia collegato all’“interruzione del servizio”…

Ho appena notato questo: Configure VERP to handle bouncing e-mails - #166

Si tratta della rimozione dell’impostazione bounce_score_threshold_deactivate. Mi chiedo se sia stato un errore. Se l’impostazione predefinita fosse stata difficile da raggiungere, la soluzione sarebbe stata abbassarla.

Una conseguenza indesiderata di tale rimozione per un forum di grandi dimensioni sembra essere il tentativo di inviare email a un numero crescente di indirizzi non validi regolarmente nel corso di molti anni. Questo potrebbe causare problemi con un servizio esterno (come Mailgun, che blocca un indirizzo dopo un singolo rimbalzo con permanent fail) o danneggiare la reputazione dell’IP.

Così come stanno le cose, a meno che non abbia frainteso, Discourse pensa di inviare email che Mailgun si rifiuta semplicemente di inviare a causa della sua lista di soppressione, e non è possibile sincronizzare l’approccio di Discourse con quello di Mailgun.

Avevo dimenticato questo aspetto. Non sono sicuro che l’impostazione bounce_score_threshold_deactivate funzionasse per impedire a Discourse di tentare di inviare email a indirizzi non validi. Il problema è che, una volta raggiunto un utente la soglia del punteggio di rimbalzo, Discourse smette di inviargli email fino al termine del periodo temporale impostato dalla configurazione reset bounce score after days. A quel punto, il punteggio di rimbalzo dell’utente viene resettato e il processo ricomincia da capo.

Non sono sicuro di quale sia la soluzione migliore per questo problema. Se ho capito correttamente, sembra che nel tempo un sito Discourse tenterà di inviare email a un numero crescente di indirizzi non validi.

Ci sono almeno due aspetti da considerare. Uno riguarda qual è la politica migliore per Discourse, assumendo che il mittente delle email (ad esempio localhost) sia d’accordo. L’altro riguarda come sincronizzare le cose con un servizio di invio email che non collabora (ad esempio Mailgun).

Penso che in Discourse ci sia già un messaggio del tipo: “Si prega di verificare il proprio indirizzo email poiché abbiamo riscontrato problemi nell’invio a tale indirizzo.” Forse Discourse avrebbe bisogno di un approccio più deciso per disabilitare gli indirizzi che generano rimbalzi, combinato con un avviso sul sito non eliminabile riguardante l’assenza di invio email.

La sincronizzazione con i servizi di invio esterni sarebbe più complessa. Mailgun afferma che è possibile ottenere il proprio elenco di soppressione tramite la loro API ma non so ancora se sia possibile anche rimuovere gli indirizzi tramite API. Se fosse possibile fare entrambe le cose, allora Discourse potrebbe disabilitare un indirizzo non appena questo entra nell’elenco di soppressione, e rimuoverlo dall’elenco quando viene compiuta un’azione manuale da parte dell’amministratore o dell’utente all’interno di Discourse (ad esempio rispondendo a un’email di conferma). Un altro problema correlato è che ogni provider probabilmente ha regole diverse.

Modifica: Il testo barrato sopra è stato aggiunto perché è possibile rimuovere un indirizzo email dall’elenco di soppressione di Mailgun utilizzando l’API: https://documentation.mailgun.com/en/latest/api-suppressions.html#delete-a-single-bounce