✉ Email deliverability

Hard bounce e soft bounce: leggere i rimbalzi e gestirli bene

Cosa distingue hard bounce e soft bounce, come leggere i codici SMTP e i messaggi di errore, quando sopprimere un indirizzo e quando riprovare l'invio.

Ogni volta che un messaggio non può essere consegnato, il server destinatario lo comunica. A volte lo fa subito, rifiutando il messaggio durante la conversazione SMTP; altre volte lo accetta e restituisce più tardi un avviso di mancata consegna. In entrambi i casi si parla di rimbalzo, o bounce. Gestirli bene è una delle attività più noiose e più importanti per chi invia posta in quantità: un'alta percentuale di indirizzi inesistenti è uno dei segnali più chiari, per i provider, che una lista è vecchia o raccolta male.

Due famiglie di rimbalzi

Hard bounce: errore permanente

Un hard bounce indica che il problema non si risolverà riprovando. I casi tipici sono:

  • la casella non esiste, per esempio per un errore di battitura o perché l'account è stato chiuso;
  • il dominio del destinatario non esiste o non ha server di posta;
  • il server rifiuta il messaggio in modo definitivo per una regola di policy.

Dopo un hard bounce dovuto a un indirizzo inesistente, quell'indirizzo va soppresso subito. Insistere non porta nulla e peggiora la reputazione.

Soft bounce: errore temporaneo

Un soft bounce segnala un problema transitorio: casella piena, server momentaneamente non disponibile, limite di velocità superato, messaggio rimandato per controlli aggiuntivi. Il server mittente di solito ritenta per un certo periodo prima di rinunciare. L'indirizzo resta valido, ma se continua a rimbalzare per settimane va trattato come perso.

Leggere i codici

Le risposte SMTP hanno un codice a tre cifre: quelli che iniziano per 4 sono temporanei, quelli che iniziano per 5 sono permanenti. Accanto c'è quasi sempre un codice esteso nella forma classe.oggetto.dettaglio, definito dagli standard, che è più preciso.

Codice Significato tipico Azione
550 5.1.1 casella inesistente sopprimere
550 5.1.10 o 5.1.2 destinatario o dominio non risolvibile sopprimere
452 4.2.2 casella piena ritentare, poi valutare
421 4.7.0 o 451 4.7.x rallentamento o rifiuto temporaneo per policy ridurre la velocità, ritentare
550 5.7.1 rifiuto per policy, spesso reputazione o autenticazione indagare, non sopprimere alla cieca
554 5.7.x messaggio bloccato come spam o per contenuto indagare

L'ultima colonna contiene il punto più trascurato. Non tutti i codici 5xx significano «indirizzo morto». Un 5.7.1 con un testo che parla di autenticazione o di reputazione dice che il destinatario esiste ma non vuole il tuo messaggio. Sopprimere quell'indirizzo nasconde il problema invece di risolverlo, e se lo stesso errore arriva da migliaia di caselle di un solo provider il problema è tuo, non della lista.

Il testo conta quanto il numero

I provider aggiungono al codice una frase descrittiva, spesso con un riferimento alla propria pagina di aiuto. Questa frase va letta e, quando i volumi lo giustificano, analizzata in modo aggregato. Raggruppare i rimbalzi per provider e per testo del messaggio mostra rapidamente se c'è un picco anomalo: un'improvvisa ondata di rifiuti temporanei da un singolo provider indica di solito un problema di reputazione o di volumi troppo alti, non di indirizzi.

Rimbalzi sincroni e asincroni

Quando il rifiuto avviene durante la sessione SMTP, il mittente lo vede subito e la piattaforma lo registra con precisione. Alcuni server, però, accettano tutto e generano un avviso di mancata consegna solo in seguito, inviandolo all'indirizzo del Return-Path. Per questo il Return-Path deve puntare a una casella o a un sistema che elabora automaticamente questi messaggi. Le piattaforme di invio usano indirizzi di ritorno unici per destinatario, così da collegare ogni avviso al contatto giusto anche quando il testo è ambiguo.

Una politica di soppressione chiara

Le piattaforme moderne gestiscono gran parte del lavoro, ma le regole vanno conosciute e, quando possibile, decise. Una politica ragionevole è questa:

  1. hard bounce per indirizzo o dominio inesistente: soppressione immediata e permanente;
  2. soft bounce isolati: nessuna azione, i tentativi automatici bastano;
  3. soft bounce ripetuti sullo stesso indirizzo in invii diversi, per esempio tre o quattro di fila: soppressione;
  4. rifiuti per policy: nessuna soppressione automatica, ma un allarme se superano una soglia;
  5. indirizzi soppressi: mai reimportati da file esterni senza una nuova conferma.

L'ultimo punto evita un errore frequente: esportare una lista, pulirla altrove e reimportarla, riportando dentro proprio gli indirizzi che la piattaforma aveva escluso.

Quanto è troppo

Non esiste una soglia ufficiale valida per tutti, ma come regola pratica un tasso di hard bounce stabilmente sopra il 2% su un invio a una lista consolidata è un segnale d'allarme. Una lista raccolta con doppia conferma e mantenuta con regolarità resta in genere ben sotto questo valore. Se un singolo invio supera di molto la media, la causa più probabile è un segmento vecchio o un'importazione recente.

In sintesi

  • Gli hard bounce sono permanenti e richiedono la soppressione immediata dell'indirizzo inesistente.
  • I soft bounce sono temporanei: si ritenta, e si sopprime solo dopo rimbalzi ripetuti.
  • I codici 5.7.x indicano spesso un problema di reputazione o autenticazione, non di indirizzo.
  • Il Return-Path deve portare a un sistema che elabora automaticamente gli avvisi di mancata consegna.
  • Gli indirizzi soppressi non vanno mai reimportati senza una nuova conferma.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche