En un coup d'œil. 2xx : succès · 4xx : temporaire, réessayer plus tard · 5xx : permanent, ne pas réessayer · x.y.z : détail étendu (RFC 3463)
La version courte
- Comment une réponse est construite. Lorsqu'un serveur répond à une commande dans une conversation SMTP, il commence par un code à trois chiffres suivi d'un texte.
- Succès et poursuite : 2xx et 3xx. Une réponse 250 signifie que la commande a fonctionné ; après la fin des données du message, elle signifie que le serveur a accepté la responsabilité de le livrer.
- Échecs temporaires : 4xx. Une réponse 421 signifie que le service n'est pas disponible ou que la connexion est fermée, souvent à cause d'une limite de débit ou d'un serveur occupé.
- Échecs permanents : 5xx. Une réponse 550 signifie que la boîte aux lettres est indisponible ou que le message a été refusé.
- Codes d'état étendus. La classe du code étendu est 2 pour un succès, 4 pour un échec transitoire persistant et 5 pour un échec permanent.
- Rejets de politique et points à vérifier. Lorsque le code est 5.7.x ou que le texte évoque une politique, passez en revue les causes habituelles : échec de SPF, DKIM ou DMARC, IP ou domaine sur une liste de blocage, débit d'envoi ou taux de plaintes trop élevé, ou contenu ayant déclenché un filtre.
Comment une réponse est construite
Lorsqu'un serveur répond à une commande dans une conversation SMTP, il commence par un code à trois chiffres suivi d'un texte. Le code est destiné aux programmes et le texte aux personnes. Une réponse peut aussi inclure un code d'état étendu de la forme classe.sujet.détail, comme 5.1.1.
550 5.1.1 The email account that you tried to reach does not exist.
Le premier chiffre du code principal indique quoi faire. 2xx signifie succès, 3xx signifie envoyer la suite, 4xx signifie un échec temporaire et 5xx un échec permanent.
Succès et poursuite : 2xx et 3xx
Une réponse 250 signifie que la commande a fonctionné ; après la fin des données du message, elle signifie que le serveur a accepté la responsabilité de le livrer. Accepté ne veut pas dire arrivé en boîte de réception, car le message peut encore être classé comme spam ou échouer plus tard.
Une réponse 354 signifie que le serveur est prêt à recevoir les données du message. Vous voyez rarement des codes 3xx en dehors d'une conversation en direct.
Échecs temporaires : 4xx
Une réponse 421 signifie que le service n'est pas disponible ou que la connexion est fermée, souvent à cause d'une limite de débit ou d'un serveur occupé. Un 450 ou 451 signifie que l'action n'a pas été effectuée pour le moment, par exemple en raison d'un greylisting ou d'une erreur locale, et 452 signifie que le serveur manque d'espace de stockage ou a trop de destinataires.
Les serveurs expéditeurs doivent conserver le message et réessayer selon un calendrier. Si un fournisseur diffère massivement vos envois, ralentissez : le report est une demande de volume plus faible. Un message toujours différé au bout de plusieurs jours est finalement renvoyé comme non distribuable.
Échecs permanents : 5xx
Une réponse 550 signifie que la boîte aux lettres est indisponible ou que le message a été refusé. Un 551 ou 553 concerne un problème avec le destinataire ou le format de l'adresse, 552 signifie que le message est plus volumineux que ce que le serveur autorise, et 554 signifie que la transaction a échoué, une réponse que de nombreux serveurs utilisent pour les rejets de politique.
Ne réessayez pas un 5xx avec le même message. Trouvez la raison dans le texte, corrigez-la et retirez les adresses inexistantes pour cesser de leur écrire.
Codes d'état étendus
La classe du code étendu est 2 pour un succès, 4 pour un échec transitoire persistant et 5 pour un échec permanent. Le numéro de sujet regroupe les causes : 1 pour l'adressage, 2 pour la boîte aux lettres, 3 pour le système de messagerie, 4 pour le réseau, 5 pour le protocole, 6 pour le contenu et 7 pour la sécurité ou la politique.
5.1.1 bad destination mailbox address
5.2.2 mailbox full
5.4.1 no answer from the host
5.7.1 delivery not authorised or refused by policy
5.1.1 signifie que la boîte aux lettres de destination n'existe pas, 5.2.2 que la boîte est pleine, et 5.7.1 que la livraison n'a pas été autorisée, ce qui couvre de nombreux refus de politique. Le code donne la catégorie et le texte donne la raison.
Rejets de politique et points à vérifier
Lorsque le code est 5.7.x ou que le texte évoque une politique, passez en revue les causes habituelles : échec de SPF, DKIM ou DMARC, IP ou domaine sur une liste de blocage, débit d'envoi ou taux de plaintes trop élevé, ou contenu ayant déclenché un filtre. Les grands fournisseurs formulent ces messages différemment et renvoient souvent vers une page d'aide.
Notre vérificateur SPF, DKIM et DMARC couvre le premier point, notre contrôle des listes de blocage couvre le deuxième, et vos taux de plaintes et de rebonds montrent le reste.
Messages de rebond
Lorsqu'un message ne peut pas être livré après avoir été accepté, le serveur de réception ou de relais renvoie un rebond, aussi appelé notification d'état de livraison, à l'adresse Return-Path. Le format standard est décrit dans la RFC 3464 et comprend le code et le texte de diagnostic.
Votre plateforme d'envoi les lit pour vous et enregistre le résultat pour chaque destinataire. Vérifiez qu'elle ajoute les échecs permanents à une liste de suppression.
Pour aller plus loin et sources
- RFC 5321 : Simple Mail Transfer Protocol
- RFC 3463 : Enhanced Mail System Status Codes
- RFC 3464 : An Extensible Message Format for Delivery Status Notifications
Faites-le dans MigoSMTP : articles du centre d'aide
- Codes de rebond SMTP expliqués
- E-mails classés en spam : liste de dépannage
- Gérer les listes de suppression
Guides et outils associés
- Recherche de code de rebond : décodez un code de vos journaux.
- Types de rebonds e-mail : rebonds définitifs, temporaires et de blocage.
- Vérificateur SPF, DKIM et DMARC : contrôlez l'authentification.
- Contrôle des listes de blocage : vérifiez votre IP.
Prêt à essayer ? Démarrez avec l'offre gratuite et envoyez votre premier message en quelques minutes.
Questions fréquentes
Que signifient les codes SMTP 4xx et 5xx ?
Un code 4xx est un échec temporaire : le serveur expéditeur doit réessayer plus tard. Un code 5xx est un échec permanent : le message a été rejeté et réessayer le même message ne servira à rien.
Qu'est-ce qu'un code d'état étendu ?
C'est un code en trois parties, comme 5.1.1, qui précise la réponse à trois chiffres. Le premier nombre est la classe, le deuxième le sujet et le troisième le détail. Ces codes sont définis dans la RFC 3463.
Que signifie 550 5.1.1 ?
Cela signifie que l'adresse du destinataire n'a pas été acceptée parce que la boîte aux lettres n'existe pas sur ce serveur. Il s'agit d'un rebond définitif (hard bounce) : retirez l'adresse de votre liste.
Que signifie 550 5.7.1 ?
Cela signifie que le message a été refusé pour une raison de politique, par exemple une liste de blocage, un contrôle d'authentification échoué ou le contenu. Lisez le texte qui suit le code, car chaque fournisseur le formule à sa manière et renvoie souvent vers une explication.