toutes les fiches

// comment corriger

Postmark erreur 406 « Inactive recipient » : comment la corriger

Postmark renvoie ErrorCode 406 quand un destinataire a rebondi, s'est plaint ou a été supprimé. Trouvez pourquoi et quand le réactiver sans risque.

Ce que ça veut dire

Postmark a refusé d'envoyer parce qu'au moins un destinataire est marqué comme inactif dans le message stream que vous utilisez. La réponse de l'API ressemble généralement à ceci :

{
  "ErrorCode": 406,
  "Message": "You tried to send to recipient(s) that have been marked as inactive. Found inactive addresses: alice@example.com. Inactive recipients are ones that have generated a hard bounce, a spam complaint, or a manual suppression."
}

Le statut HTTP est 422. Avec l'endpoint batch, la requête elle-même réussit et chaque message de la réponse a son propre ErrorCode : vérifiez donc chaque résultat, pas seulement le statut HTTP. Certaines bibliothèques lèvent une exception dédiée (par exemple InactiveRecipientsError dans le client Node.js).

Les adresses inactives sont listées dans l'onglet Suppressions de chaque message stream. Une suppression dans votre stream transactionnel ne s'applique pas à votre stream broadcast, et inversement.

Pourquoi cela arrive

Postmark marque une adresse comme inactive pour l'une de ces quatre raisons :

  • Hard bounce (rebond définitif) : le serveur destinataire a indiqué que l'adresse n'existe pas ou ne peut pas recevoir d'emails.
  • Spam complaint (plainte pour spam) : la personne a cliqué sur « Signaler comme spam » et son fournisseur a transmis la plainte.
  • Unsubscribe (désinscription, surtout dans les streams broadcast) : la personne a utilisé le lien de désinscription.
  • Manually added (ajout manuel) : quelqu'un de votre équipe ou votre code a ajouté l'adresse à la liste de suppression.

C'est le même principe que l'erreur Mailgun 605 « previously bounced address » : le fournisseur protège votre réputation en n'écrivant pas aux adresses qui ont déjà échoué.

Comment vérifier

  1. Dans Postmark, ouvrez le serveur, puis le message stream utilisé par votre code (par exemple « Default Transactional Stream »).
  2. Ouvrez l'onglet Suppressions et recherchez l'adresse. La raison (Hard Bounce, Spam Complaint, Manually Added, Unsubscribe) et la date sont affichées.
  3. Pour un hard bounce, ouvrez le rebond correspondant dans l'onglet Activity et lisez la réponse SMTP d'origine. « User unknown » signifie que l'adresse est morte. Une boîte pleine, un compte désactivé ou un blocage de politique ou antispam signifie que l'adresse est peut-être valide. Voir rebond « 552 5.2.2 » : boîte pleine pour un cas fréquent.
  4. Si le rebond mentionne du spam ou un blocage, envoyez un test depuis le même serveur Postmark à l'adresse de la page d'accueil de Delivmail et lisez les sections authentification et listes noires du rapport.

Comment corriger

Hard bounce d'une adresse qui refonctionne

Seulement si vous avez une bonne raison de penser que la boîte fonctionne désormais (la personne vous l'a dit, la faute de frappe a été corrigée, la boîte pleine a été vidée) : dans l'onglet Suppressions, recherchez l'adresse et cliquez sur Reactivate. Elle redevient active immédiatement. Vous pouvez aussi utiliser l'API Suppressions (« Delete a suppression ») depuis votre code. Certains types de rebond ne peuvent pas être réactivés ; Postmark refuse alors la demande.

Postmark ne renvoie pas les messages qui ont échoué pendant que l'adresse était inactive. Renvoyez-les.

Hard bounce d'une adresse morte

Ne la réactivez pas. Corrigez ou supprimez l'adresse dans votre base de données et demandez-en une nouvelle à l'utilisateur.

Plainte pour spam

Vous ne pouvez pas réactiver vous-même une plainte. Si la personne vous contacte et souhaite de nouveau recevoir vos emails, Postmark vous demande de contacter son support avec l'adresse. Si les plaintes sont fréquentes, lisez trop de personnes signalent vos emails comme spam.

Désinscription ou suppression manuelle

Ne réactivez que si la personne a vraiment demandé à recevoir de nouveau vos messages. Vérifiez pourquoi votre code ou un collègue a ajouté une suppression manuelle avant de la retirer.

Gérer le 406 dans votre code

  • Interceptez l'erreur 406, enregistrez l'adresse dans vos logs et marquez-la comme non livrable dans votre base de données au lieu de réessayer. Réessayer ne fonctionne jamais.
  • Pour la réinitialisation de mot de passe et les emails similaires, affichez à l'utilisateur un message comme « Nous ne pouvons pas écrire à cette adresse, vérifiez-la ou utilisez-en une autre ».
  • Utilisez les webhooks de rebond et de plainte de Postmark pour garder votre propre liste synchronisée.
  • Quand un destinataire d'un message à plusieurs destinataires est inactif, tout le message peut être refusé. Envoyez les emails transactionnels à un destinataire à la fois.

Vérifier que c'est corrigé

Après la réactivation, envoyez un message à l'adresse et vérifiez son statut dans l'onglet Activity : « Delivered » signifie que la boîte accepte de nouveau les emails. Si elle rebondit encore, Postmark la supprime de nouveau et le texte du nouveau rebond vous dit pourquoi. Si la raison d'origine était un blocage de vos envois, faites un nouveau test Delivmail et corrigez chaque contrôle en échec avant de renvoyer.

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