toutes les fiches

// comment corriger

Mailgun 605 « Not delivering to previously bounced address » : la solution

Mailgun refuse d'envoyer avec le code 605 car l'adresse a déjà rebondi. Quand la retirer de la liste des rebonds, et quand la laisser.

Ce que ça veut dire

Mailgun n'a même pas essayé de livrer votre message. Il l'a abandonné avant qu'il ne quitte Mailgun, parce que l'adresse du destinataire figure sur la liste de suppression Bounces de votre domaine d'envoi. Dans les logs, l'événement en échec affiche généralement :

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

Une liste de suppression est une liste « à ne pas contacter » que Mailgun tient pour chaque domaine. Dès qu'une adresse y figure, chaque nouveau message vers elle échoue instantanément en 605 jusqu'à ce que vous la retiriez. Cela protège votre réputation : les fournisseurs de messagerie comme Gmail et Outlook surveillent la fréquence à laquelle vous écrivez à des adresses mortes.

Un code voisin, 607, est utilisé quand l'adresse est supprimée parce que la personne a signalé l'un de vos emails comme spam. Ne retirez pas celles-là : la personne a demandé à ne plus avoir de vos nouvelles.

Pourquoi cela arrive

  • Un rebond définitif antérieur. Un précédent message vers cette adresse a reçu un refus permanent, par exemple 550 5.1.1 user unknown. Mailgun l'a ajoutée à la liste Bounces. Voir rebond « 550 5.1.1 » : l'adresse n'existe pas pour comprendre ce rebond d'origine.
  • Une faute de frappe corrigée depuis dans votre base de données, alors que l'ancien rebond reste sur la liste pour la même adresse.
  • Un problème temporaire qui avait l'air définitif. Certains serveurs répondent avec un code 5xx pour une boîte pleine, un compte désactivé ou un blocage de politique. La boîte peut refonctionner plus tard, mais le rebond reste enregistré.
  • Un blocage contre vous, pas contre le destinataire. Si le rebond d'origine venait du blocage de votre IP ou de votre domaine, l'adresse elle-même est valide. Lisez le texte du rebond d'origine avant de décider.

Comment vérifier

  1. Retrouvez le rebond d'origine. Dans le panneau de contrôle Mailgun, ouvrez votre domaine d'envoi, allez dans la section Suppressions et ouvrez le tableau Bounces. Recherchez l'adresse. L'entrée affiche la date et l'erreur renvoyée par le serveur destinataire.
  2. Ou interrogez l'API. Remplacez la clé, le domaine et l'adresse (utilisez api.eu.mailgun.net si votre domaine est dans la région EU) :
    curl -s --user 'api:YOUR_API_KEY' \
      https://api.mailgun.net/v3/yourdomain.com/bounces/alice@example.com
  3. Lisez l'erreur. « User unknown », « no such user » ou « address does not exist » signifie que l'adresse est vraiment morte. « Blocked », « spam », « policy » ou le nom d'une liste noire signifie que le problème venait de votre réputation d'expéditeur.
  4. S'il s'agissait d'un blocage, envoyez un email de test depuis le même domaine Mailgun à l'adresse de la page d'accueil de Delivmail et vérifiez SPF, DKIM, DMARC et listes noires dans le rapport avant d'écrire de nouveau à ce destinataire.

Comment corriger

L'adresse n'existe vraiment pas

Laissez-la sur la liste. Supprimez ou corrigez l'adresse dans votre propre base de données (demandez à la personne une adresse correcte par un autre canal). Retirer une adresse morte de la liste de suppression ne fait que créer un nouveau rebond définitif et abîmer votre réputation.

La boîte mail fonctionne de nouveau

Si la personne confirme que l'adresse fonctionne (nouveau compte, boîte qui n'est plus pleine, faute de frappe corrigée), retirez-la du tableau Bounces dans le panneau de contrôle, ou avec l'API :

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

Mailgun tentera de nouveau de livrer. Si l'adresse rebondit encore, elle revient automatiquement sur la liste. Les messages déjà en échec 605 ne sont pas renvoyés ; renvoyez-les vous-même.

Le rebond d'origine était un blocage contre vous

Corrigez d'abord la cause (authentification, IP ou domaine sur liste noire, contenu), puis retirez l'adresse. Sinon, le prochain message rebondira pour la même raison.

Évitez le problème dans votre application

  • Écoutez le webhook d'échec permanent de Mailgun et marquez l'adresse comme invalide dans votre propre base de données, pour que votre application cesse de lui envoyer des emails.
  • Utilisez le double opt-in ou une confirmation d'adresse à l'inscription pour empêcher les fautes de frappe d'entrer dans votre liste.
  • Nettoyez les anciennes listes avant une campagne ; voir comment nettoyer votre liste de diffusion après un taux de rebond élevé.

D'autres fournisseurs ont le même mécanisme sous un autre nom : Postmark renvoie l'erreur 406 pour les destinataires inactifs, et Amazon SES a sa propre liste de suppression au niveau du compte.

Vérifier que c'est corrigé

Après avoir retiré l'adresse, envoyez un message et regardez ses événements dans les logs Mailgun. Vous voulez un événement « delivered », pas « failed » avec 605. S'il échoue avec un nouveau rebond, lisez cette nouvelle erreur : elle vous indique l'état actuel de la boîte. Si le problème d'origine était votre réputation, faites d'abord un nouveau test Delivmail et assurez-vous que rien n'est sur liste noire.

Vérifiez que c'est corrigé

Une modification DNS peut prendre de quelques minutes à quelques heures. Ensuite, envoyez un nouvel email de test ou scannez à nouveau votre domaine.

Fiches liées