tutte le guide

// come risolvere

Mailgun 605 "Not delivering to previously bounced address": come risolvere

Mailgun rifiuta l'invio con il codice 605 perché l'indirizzo ha già dato bounce. Scopri quando rimuoverlo dalla lista dei bounce e quando lasciarlo lì.

Cosa significa

Mailgun non ha nemmeno provato a consegnare il tuo messaggio. L'ha scartato prima che uscisse da Mailgun, perché l'indirizzo del destinatario è nella suppression list Bounces del tuo dominio di invio. Nei log l'evento failed di solito mostra:

Code: 605
Message: Not delivering to previously bounced address
Severity: permanent

Una suppression list è una lista "da non contattare" che Mailgun gestisce per ogni dominio. Quando un indirizzo vi compare, ogni nuovo messaggio verso di esso fallisce subito con 605 finché non lo rimuovi. Questo protegge la tua reputazione: i provider di posta come Gmail e Outlook osservano quanto spesso invii a indirizzi inesistenti.

Un codice simile, il 607, viene usato quando l'indirizzo è bloccato perché la persona ha segnalato come spam una delle tue email. Non rimuovere questi indirizzi: la persona ha chiesto di non ricevere più tue notizie.

Perché succede

  • Un hard bounce precedente. Un messaggio precedente verso questo indirizzo ha ricevuto un rifiuto definitivo, per esempio 550 5.1.1 user unknown. Mailgun l'ha aggiunto alla lista Bounces. Consulta bounce "550 5.1.1": l'indirizzo non esiste per capire cosa significa quel bounce originale.
  • Un errore di battitura corretto in seguito nel tuo database, mentre il vecchio bounce resta nella lista per lo stesso indirizzo.
  • Un problema temporaneo che sembrava definitivo. Alcuni server rispondono con un codice 5xx per una casella piena, un account disattivato o un blocco dovuto a una policy. La casella può tornare a funzionare, ma il bounce resta registrato.
  • Un blocco contro di te, non contro il destinatario. Se il bounce originale era dovuto al blocco del tuo IP o del tuo dominio, l'indirizzo in sé va bene. Leggi il testo del bounce originale prima di decidere.

Come verificare

  1. Trova il bounce originale. Nel pannello di controllo di Mailgun apri il tuo dominio di invio, vai alla sezione Suppressions e apri la tabella Bounces. Cerca l'indirizzo. La voce mostra la data e l'errore restituito dal server destinatario.
  2. Oppure chiedi all'API. Sostituisci chiave, dominio e indirizzo (usa api.eu.mailgun.net se il tuo dominio è nella regione EU):
    curl -s --user 'api:YOUR_API_KEY' \
      https://api.mailgun.net/v3/yourdomain.com/bounces/alice@example.com
  3. Leggi l'errore. "User unknown", "no such user" o "address does not exist" significano che l'indirizzo è davvero inesistente. "Blocked", "spam", "policy" o il nome di una blacklist significano che il problema era la tua reputazione di invio.
  4. Se si trattava di un blocco, invia un'email di test dallo stesso dominio Mailgun all'indirizzo nella home page di Delivmail e controlla SPF, DKIM, DMARC e blacklist nel report prima di scrivere di nuovo a quel destinatario.

Come risolvere

L'indirizzo non esiste davvero

Lascialo nella lista. Rimuovi o correggi l'indirizzo nel tuo database (chiedi alla persona un indirizzo corretto tramite un altro canale). Togliere un indirizzo inesistente dalla suppression list provoca solo un nuovo hard bounce e danneggia la tua reputazione.

La casella funziona di nuovo

Se la persona conferma che l'indirizzo funziona (nuovo account, casella non più piena, errore di battitura corretto), rimuovilo dalla tabella Bounces nel pannello di controllo, oppure con l'API:

curl -s --user 'api:YOUR_API_KEY' -X DELETE \
  https://api.mailgun.net/v3/yourdomain.com/bounces/alice@example.com

Mailgun proverà di nuovo a consegnare. Se l'indirizzo dà ancora bounce, torna automaticamente nella lista. I messaggi già falliti con 605 non vengono inviati di nuovo: rispediscili tu.

Il bounce originale era un blocco contro di te

Correggi prima la causa (autenticazione, IP o dominio in blacklist, contenuto), poi rimuovi l'indirizzo. Altrimenti il prossimo messaggio darà bounce per lo stesso motivo.

Previenilo nella tua applicazione

  • Ascolta il webhook dei fallimenti permanenti di Mailgun e segna l'indirizzo come non valido nel tuo database, così la tua applicazione smette di mettere in coda email per esso.
  • Usa il double opt-in o la conferma dell'indirizzo all'iscrizione per evitare che gli errori di battitura entrino nella tua lista.
  • Pulisci le liste vecchie prima di una campagna; consulta come pulire la tua mailing list dopo un tasso di bounce elevato.

Altri provider hanno lo stesso meccanismo con un altro nome: Postmark restituisce l'errore 406 per i destinatari inattivi e Amazon SES ha la sua suppression list a livello di account.

Verifica che sia risolto

Dopo aver rimosso l'indirizzo, invia un messaggio e guarda i suoi eventi nei log di Mailgun. Ti serve un evento "delivered", non "failed" con 605. Se fallisce con un nuovo bounce, leggi il nuovo errore: ti dice lo stato attuale della casella. Se il problema originale era la tua reputazione, esegui prima un nuovo test Delivmail e assicurati che nulla sia in blacklist.

Verifica che sia risolto

Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.

Guide correlate