Codes de réponse SMTP
Référence des codes de réponse SMTP à trois chiffres et des codes d'état améliorés (X.Y.Z) qui accompagnent les rebonds et les rejets d'e-mails. Recherchez par code ou par texte, ou collez la ligne complète renvoyée par le serveur.

117 codes sur 117

Codes de réponse de base

2xxRéponse positive d'achèvement9
211System status

État du système ou réponse d'aide du système. Peu utilisé en pratique.

RFC 5321
214Help message

Message d'aide en réponse à la commande HELP, avec des informations sur l'utilisation du serveur ou d'une commande précise.

RFC 5321
220Service ready

Message d'accueil initial du serveur à l'ouverture de la connexion : le service est prêt. C'est aussi la réponse à STARTTLS pour indiquer que la négociation TLS peut commencer.

RFC 5321
221Service closing transmission channel

Le serveur ferme la connexion, généralement en réponse à la commande QUIT.

RFC 5321
235Authentication successful

L'authentification avec AUTH a réussi. Généralement accompagné du code amélioré 2.7.0.

RFC 4954
250Requested mail action okay, completed

L'action demandée a été effectuée. C'est la réponse habituelle à EHLO, MAIL FROM, RCPT TO et à la fin de DATA, lorsque le serveur accepte le message.

RFC 5321
251User not local; will forward

Le destinataire n'est pas local, mais le serveur accepte le message et le transférera à l'adresse indiquée.

RFC 5321
252Cannot VRFY user, but will accept message

Le serveur ne confirme pas si l'utilisateur existe (VRFY désactivé pour empêcher l'énumération des comptes), mais il acceptera le message et tentera de le remettre.

RFC 5321
253OK, pending messages for node started

Réponse à ETRN : le serveur a commencé à remettre les messages en file d'attente pour le domaine ou le nœud demandé.

RFC 1985 (ETRN)
3xxRéponse positive intermédiaire2
334Server challenge

Défi du serveur pendant AUTH, encodé en Base64. Le client doit répondre avec la donnée suivante du mécanisme (par exemple, le nom d'utilisateur ou le mot de passe avec AUTH LOGIN).

RFC 4954
354Start mail input

Réponse à DATA : le serveur attend le contenu du message, qui se termine par une ligne ne contenant qu'un point.

RFC 5321
4xxErreur temporaire9
421Service not available, closing transmission channel

Le service n'est pas disponible et le serveur ferme la connexion : arrêt, surcharge, trop de connexions ou limite d'envoi temporaire. L'expéditeur doit réessayer plus tard.

RFC 5321
432A password transition is needed

L'utilisateur doit changer son mot de passe ou passer à un autre mécanisme d'authentification avant de pouvoir s'authentifier. Accompagné du code amélioré 4.7.12.

RFC 4954
450Requested mail action not taken: mailbox unavailable

La boîte aux lettres est temporairement indisponible : occupée, verrouillée ou rejetée temporairement par une stratégie. Le greylisting répond généralement avec ce code ou avec 451.

RFC 5321
451Requested action aborted: local error in processing

L'action a été abandonnée à cause d'une erreur locale du serveur, comme un échec de requête DNS ou un filtre qui n'a pas répondu. L'expéditeur doit réessayer plus tard.

RFC 5321
452Requested action not taken: insufficient system storage

Le serveur n'a pas assez d'espace pour accepter le message pour le moment. Indique aussi que le nombre de destinataires par message a été dépassé : le client doit envoyer le reste dans une autre transaction.

RFC 5321
454Temporary authentication failure

Échec temporaire de l'authentification (par exemple, le serveur d'identifiants ne répond pas) ou TLS momentanément indisponible lors d'une demande STARTTLS.

RFC 4954 / RFC 3207
455Server unable to accommodate parameters

Le serveur ne peut pas prendre en charge pour le moment les paramètres envoyés dans MAIL FROM ou RCPT TO, mais pourrait les accepter plus tard.

RFC 5321
458Unable to queue messages for node

Réponse à ETRN : le serveur ne peut pas traiter pour le moment la file d'attente du nœud demandé.

RFC 1985 (ETRN)
459Node not allowed

Réponse à ETRN : le nœud ou domaine demandé n'est pas autorisé à demander la remise de sa file d'attente.

RFC 1985 (ETRN)
5xxErreur permanente17
500Syntax error, command unrecognized

Le serveur ne reconnaît pas la commande ou la ligne est trop longue. AUTH l'utilise aussi lorsqu'une ligne de l'échange dépasse la longueur maximale autorisée.

RFC 5321
501Syntax error in parameters or arguments

La commande est valide, mais pas ses paramètres ou arguments : par exemple, une adresse mal formée dans MAIL FROM ou un nom invalide dans EHLO.

RFC 5321
502Command not implemented

Le serveur reconnaît la commande mais ne l'implémente pas ou l'a désactivée, comme VRFY ou EXPN sur de nombreux serveurs.

RFC 5321
503Bad sequence of commands

Les commandes sont arrivées dans le mauvais ordre, par exemple RCPT TO avant MAIL FROM, ou DATA sans destinataire valide. Certains serveurs le renvoient lorsqu'on tente d'envoyer sans s'authentifier.

RFC 5321
504Command parameter not implemented

Le serveur n'accepte pas le paramètre indiqué, par exemple un mécanisme AUTH qu'il ne prend pas en charge.

RFC 5321
521Server does not accept mail

L'hôte n'accepte aucun e-mail. Il est envoyé comme message d'accueil à la place de 220 et le client ne doit pas réessayer.

RFC 7504
530Authentication required

Le serveur exige une authentification, ou le démarrage de TLS avec STARTTLS, avant d'accepter la commande. Typique lors de l'utilisation du port de soumission 587 sans identifiants.

RFC 4954 / RFC 3207
534Authentication mechanism is too weak

Le mécanisme d'authentification choisi est trop faible selon la stratégie du serveur. Certains fournisseurs le renvoient lorsqu'ils exigent des mots de passe d'application ou OAuth.

RFC 4954
535Authentication credentials invalid

Nom d'utilisateur ou mot de passe incorrect, ou identifiants refusés. Accompagné du code amélioré 5.7.8.

RFC 4954
538Encryption required for requested authentication mechanism

Le mécanisme d'authentification choisi n'est autorisé que sur une connexion chiffrée : il faut d'abord exécuter STARTTLS.

RFC 4954
550Requested action not taken: mailbox unavailable

La boîte aux lettres n'existe pas ou n'est pas disponible, ou le message a été rejeté par une stratégie (spam, listes noires, SPF, DKIM ou DMARC). Le code amélioré qui l'accompagne indique la cause précise.

RFC 5321
551User not local; please try forward-path

Le destinataire n'est pas local et le serveur ne transfère pas le message ; il peut indiquer à quelle adresse l'envoyer.

RFC 5321
552Requested mail action aborted: exceeded storage allocation

L'espace alloué est dépassé : la boîte aux lettres du destinataire est pleine ou le message dépasse la taille maximale annoncée par l'extension SIZE.

RFC 5321
553Requested action not taken: mailbox name not allowed

L'adresse e-mail n'est pas valide ou n'est pas autorisée, par exemple à cause d'une syntaxe incorrecte ou parce que l'expéditeur ne peut pas utiliser cette adresse.

RFC 5321
554Transaction failed

La transaction a échoué. En message d'accueil, cela signifie qu'il n'y a pas de service SMTP pour ce client ; après DATA, que le message a été rejeté, souvent à cause de son contenu ou de la réputation de l'expéditeur.

RFC 5321
555MAIL FROM/RCPT TO parameters not recognized or not implemented

Le serveur ne reconnaît pas ou n'implémente pas un paramètre d'extension envoyé dans MAIL FROM ou RCPT TO.

RFC 5321
556Domain does not accept mail

Le domaine du destinataire publie un null MX (un enregistrement MX qui pointe vers « . ») : il déclare ne pas recevoir d'e-mails, il est donc inutile de réessayer.

RFC 7504

Codes d'état améliorés (RFC 3463)

2.X.XSuccès4.X.XÉchec temporaire persistant5.X.XÉchec permanent
X.0Autre ou non défini1
X.0.0Other undefined status

État sans autre précision : utilisé lorsque seule la classe du résultat est connue (succès, échec temporaire ou permanent).

RFC 3463
X.1Adressage11
X.1.0Other address status

Il y a un problème avec une adresse du message qui ne correspond à aucun des codes plus précis.

RFC 3463
X.1.1Bad destination mailbox address

La boîte aux lettres du destinataire n'existe pas sur le serveur de destination. C'est le rebond classique dû à une adresse mal saisie ou à un compte supprimé.

RFC 3463Utilisé avec
X.1.2Bad destination system address

Le domaine ou le système de destination n'existe pas ou ne peut pas accepter d'e-mails, par exemple parce que le domaine ne se résout pas.

RFC 3463
X.1.3Bad destination mailbox address syntax

L'adresse du destinataire a une syntaxe invalide.

RFC 3463Utilisé avec
X.1.4Destination mailbox address ambiguous

L'adresse du destinataire correspond à plusieurs boîtes aux lettres sur le système de destination.

RFC 3463
X.1.5Destination address valid

L'adresse du destinataire est valide. Apparaît sous la forme 2.1.5 dans la réponse positive à RCPT TO.

RFC 3463Utilisé avec
X.1.6Destination mailbox has moved, No forwarding address

La boîte aux lettres existait mais a été déplacée, et aucune adresse de réexpédition n'est connue.

RFC 3463
X.1.7Bad sender's mailbox address syntax

L'adresse de l'expéditeur a une syntaxe invalide.

RFC 3463
X.1.8Bad sender's system address

Le domaine de l'expéditeur n'existe pas ou n'accepte pas de réponses, par exemple parce qu'il n'a ni enregistrement MX ni enregistrement A.

RFC 3463Utilisé avec
X.1.9Message relayed to non-compliant mailer

Le message a été remis à un système qui ne prend pas en charge les notifications d'état ; sa remise finale ne pourra donc pas être confirmée.

RFC 3886
X.1.10Recipient address has null MX

Le domaine du destinataire publie un null MX : il déclare ne pas recevoir d'e-mails.

RFC 7505Utilisé avec
X.2Boîte aux lettres5
X.2.0Other or undefined mailbox status

La boîte aux lettres existe, mais un problème la concernant a empêché la remise et il n'existe pas de code plus précis.

RFC 3463
X.2.1Mailbox disabled, not accepting messages

La boîte aux lettres existe mais est désactivée et n'accepte pas de messages, par exemple un compte suspendu.

RFC 3463
X.2.2Mailbox full

La boîte aux lettres du destinataire a dépassé son quota de stockage.

RFC 3463Utilisé avec
X.2.3Message length exceeds administrative limit

Le message dépasse la taille maximale que le destinataire est autorisé à recevoir.

RFC 3463Utilisé avec
X.2.4Mailing list expansion problem

Le destinataire est une liste de distribution qui n'a pas pu être développée en ses membres.

RFC 3463Utilisé avec
X.3Système de messagerie7
X.3.0Other or undefined mail system status

Le système de destination a rencontré un problème qui ne correspond à aucun des codes plus précis.

RFC 3463Utilisé avec
X.3.1Mail system full

Le stockage du système de messagerie de destination est plein.

RFC 3463Utilisé avec
X.3.2System not accepting network messages

L'hôte de destination n'accepte pas de messages, en raison d'un arrêt imminent, d'une surcharge ou d'une maintenance.

RFC 3463 / RFC 7504Utilisé avec
X.3.3System not capable of selected features

Le système de destination ne prend pas en charge une fonctionnalité requise par le message.

RFC 3463
X.3.4Message too big for system

Le message dépasse la taille maximale que le serveur accepte pour n'importe quel destinataire.

RFC 3463Utilisé avec
X.3.5System incorrectly configured

Le système de destination est mal configuré et ne peut pas accepter le message.

RFC 3463
X.3.6Requested priority was changed

Le message a été accepté, mais avec une priorité différente de celle demandée (extension MT-PRIORITY).

RFC 6710Utilisé avec
X.4Réseau et routage8
X.4.0Other or undefined network or routing status

Un problème de réseau ou de routage est survenu, qui ne correspond à aucun des codes plus précis.

RFC 3463
X.4.1No answer from host

Le serveur de destination n'a pas répondu à la tentative de connexion.

RFC 3463Utilisé avec
X.4.2Bad connection

La connexion a été établie, mais elle a été coupée ou est devenue instable avant la fin de la remise.

RFC 3463Utilisé avec
X.4.3Directory server failure

Un service d'annuaire nécessaire à la remise a échoué, généralement la résolution DNS.

RFC 3463Utilisé avec
X.4.4Unable to route

Aucune route vers la destination n'a été trouvée, par exemple parce que le domaine n'a pas d'enregistrements MX ou A utilisables.

RFC 3463
X.4.5Mail system congestion

Le système de messagerie est congestionné et ne peut pas traiter le message pour le moment.

RFC 3463Utilisé avec
X.4.6Routing loop detected

Une boucle de routage a été détectée : le message est passé trop de fois par les mêmes serveurs.

RFC 3463
X.4.7Delivery time expired

Le délai maximal de nouvelles tentatives a expiré et le message est abandonné sans avoir été remis.

RFC 3463
X.5Protocole de remise7
X.5.0Other or undefined protocol status

Un problème de protocole de remise est survenu, qui ne correspond à aucun des codes plus précis.

RFC 3463Utilisé avec
X.5.1Invalid command

La commande n'est pas valide, n'est pas autorisée à ce moment-là ou n'est pas reconnue.

RFC 3463Utilisé avec
X.5.2Syntax error

La commande contient une erreur de syntaxe et le serveur ne peut pas l'interpréter.

RFC 3463Utilisé avec
X.5.3Too many recipients

Le message a plus de destinataires que le serveur n'en accepte dans une transaction.

RFC 3463Utilisé avec
X.5.4Invalid command arguments

La commande est valide, mais ses arguments ne le sont pas ou ne sont pas pris en charge.

RFC 3463Utilisé avec
X.5.5Wrong protocol version

Il y a une incompatibilité de version du protocole entre le client et le serveur.

RFC 3463
X.5.6Authentication Exchange line is too long

Une ligne de l'échange AUTH dépasse la longueur maximale acceptée par le serveur.

RFC 4954Utilisé avec
X.6Contenu du message10
X.6.0Other or undefined media error

Un problème lié au contenu du message est survenu, qui ne correspond à aucun des codes plus précis.

RFC 3463
X.6.1Media not supported

La destination ne prend pas en charge le type de contenu du message ou de l'une de ses pièces jointes.

RFC 3463
X.6.2Conversion required and prohibited

Pour remettre le message, il faudrait convertir son contenu, mais l'expéditeur l'a interdit.

RFC 3463
X.6.3Conversion required but not supported

Pour remettre le message, il faudrait convertir son contenu, et le serveur ne sait pas le faire.

RFC 3463Utilisé avec
X.6.4Conversion with loss performed

Le message a été remis, mais la conversion du contenu a entraîné une perte d'informations.

RFC 3463Utilisé avec
X.6.5Conversion Failed

La conversion du contenu du message a échoué.

RFC 3463
X.6.6Message content not available

Le contenu du message référencé par une URL n'a pas pu être récupéré (extension BURL).

RFC 4468Utilisé avec
X.6.7Non-ASCII addresses not permitted for that sender/recipient

L'expéditeur ou le destinataire ne prend pas en charge les adresses contenant des caractères non ASCII (e-mail internationalisé, SMTPUTF8).

RFC 6531Utilisé avec
X.6.8UTF-8 string reply is required, but not permitted by the SMTP client

Le serveur doit répondre avec du texte UTF-8, mais le client n'a pas annoncé la prise en charge de SMTPUTF8.

RFC 6531Utilisé avec
X.6.9UTF-8 header message cannot be transferred to one or more recipients

Le message contient des en-têtes UTF-8 et ne peut pas être transféré à un ou plusieurs destinataires qui ne les prennent pas en charge ; il est donc rejeté.

RFC 6531Utilisé avec
X.7Sécurité et stratégies31
X.7.0Other or undefined security status

État de sécurité sans autre précision. Apparaît lors des authentifications réussies (2.7.0), des échecs temporaires d'AUTH (4.7.0) et des rejets par stratégie.

RFC 3463Utilisé avec
X.7.1Delivery not authorized, message refused

L'expéditeur n'est pas autorisé à envoyer à ce destinataire : blocage dû à une liste noire, à la réputation, à l'antispam ou à une tentative de relais non autorisée. Sous la forme 4.7.1, il indique généralement du greylisting.

RFC 3463Utilisé avec
X.7.2Mailing list expansion prohibited

L'expéditeur n'a pas l'autorisation d'envoyer à cette liste de distribution.

RFC 3463Utilisé avec
X.7.3Security conversion required but not possible

Il faudrait convertir le message d'un protocole de sécurité à un autre, ce qui n'est pas possible.

RFC 3463
X.7.4Security features not supported

Le message requiert des fonctionnalités de sécurité que la destination ne prend pas en charge.

RFC 3463Utilisé avec
X.7.5Cryptographic failure

Une opération cryptographique a échoué pendant le transport, par exemple la vérification d'une signature ou le déchiffrement.

RFC 3463
X.7.6Cryptographic algorithm not supported

La destination ne prend pas en charge l'algorithme cryptographique utilisé dans le message.

RFC 3463
X.7.7Message integrity failure

La vérification d'intégrité a échoué : le message a été modifié en transit ou la somme de contrôle ne correspond pas.

RFC 3463
X.7.8Authentication credentials invalid

Les identifiants d'authentification ne sont pas valides : nom d'utilisateur ou mot de passe incorrect.

RFC 4954Utilisé avec
X.7.9Authentication mechanism is too weak

Le mécanisme d'authentification choisi est plus faible que ce qu'exige la stratégie du serveur.

RFC 4954Utilisé avec
X.7.10Encryption Needed

Une couche de chiffrement externe, comme TLS, est nécessaire pour utiliser le mécanisme d'authentification demandé. Prévu surtout pour les mécanismes qui envoient le mot de passe en clair.

RFC 5248Utilisé avec
X.7.11Encryption required for requested authentication mechanism

Le mécanisme d'authentification demandé n'est autorisé que sur une connexion chiffrée.

RFC 4954Utilisé avec
X.7.12A password transition is needed

L'utilisateur doit changer son mot de passe ou passer à un autre mécanisme d'authentification.

RFC 4954Utilisé avec
X.7.13User Account Disabled

Le compte de l'utilisateur qui tente de s'authentifier est désactivé.

RFC 5248Utilisé avec
X.7.14Trust relationship required

Le serveur n'accepte que les messages provenant de systèmes avec lesquels il a établi une relation de confiance.

RFC 5248Utilisé avec
X.7.15Priority Level is too low

La priorité du message est trop basse pour qu'il soit accepté pour le moment (extension MT-PRIORITY).

RFC 6710Utilisé avec
X.7.16Message is too big for the specified priority

Le message est trop volumineux pour la priorité indiquée (extension MT-PRIORITY).

RFC 6710Utilisé avec
X.7.17Mailbox owner has changed

La boîte aux lettres a changé de propriétaire depuis la date indiquée par l'expéditeur ; le message n'est donc pas remis (extension RRVS).

RFC 7293
X.7.18Domain owner has changed

Le domaine du destinataire a changé de propriétaire depuis la date indiquée par l'expéditeur (extension RRVS).

RFC 7293
X.7.19RRVS test cannot be completed

Le serveur ne peut pas vérifier si la boîte aux lettres a changé de propriétaire, comme l'a demandé l'expéditeur (extension RRVS).

RFC 7293
X.7.20No passing DKIM signature found

Le message ne comporte aucune signature DKIM valide alors que la stratégie du destinataire en exige une.

RFC 7372Utilisé avec
X.7.21No acceptable DKIM signature found

Le message comporte des signatures DKIM valides, mais aucune ne respecte la stratégie du destinataire (par exemple, à cause du domaine signataire ou de l'algorithme).

RFC 7372Utilisé avec
X.7.22No valid author-matched DKIM signature found

Le message ne comporte pas de signature DKIM valide du même domaine que celui de l'en-tête From.

RFC 7372Utilisé avec
X.7.23SPF validation failed

L'IP d'envoi n'est pas autorisée dans l'enregistrement SPF du domaine de l'expéditeur.

RFC 7372Utilisé avec
X.7.24SPF validation error

L'évaluation SPF a renvoyé une erreur, par exemple à cause d'un enregistrement mal formé ou d'un trop grand nombre de requêtes DNS.

RFC 7372Utilisé avec
X.7.25Reverse DNS validation failed

L'IP d'envoi n'a pas de DNS inverse (PTR), ou le nom renvoyé ne se résout pas vers cette même IP.

RFC 7372Utilisé avec
X.7.26Multiple authentication checks failed

Plusieurs contrôles d'authentification du message ont échoué en même temps, comme SPF et DKIM.

RFC 7372Utilisé avec
X.7.27Sender address has null MX

Le domaine de l'expéditeur publie un null MX ; il ne pourrait donc recevoir ni réponses ni rebonds, et le message est rejeté.

RFC 7505Utilisé avec
X.7.28Mail flood detected

Le message semble faire partie d'un envoi massif de messages abusifs similaires.

draft-levine-mailbomb-header
X.7.29ARC validation failure

La validation de la chaîne ARC a échoué ; ARC préserve les résultats d'authentification lorsque le message passe par des redirecteurs ou des listes de diffusion.

RFC 8617Utilisé avec
X.7.30REQUIRETLS support required

Le message exige REQUIRETLS et le serveur suivant sur la route ne prend pas en charge cette extension ; il ne peut donc pas être remis avec une garantie de chiffrement.

RFC 8689Utilisé avec

Collez la réponse complète du serveur, par exemple 550 5.7.1 Message rejected, pour voir à la fois le code de base et le code amélioré. Pour un code de base, la recherche affiche aussi les codes améliorés qui l'accompagnent habituellement.

Comment ça marche

Dans une session SMTP, chaque commande du client (EHLO, MAIL FROM, RCPT TO, DATA…) reçoit une réponse du serveur qui commence par un code à trois chiffres. Le premier indique l'issue : 2 signifie succès, 3 que le serveur attend d'autres données, 4 une erreur temporaire et 5 une erreur permanente. Le deuxième indique le domaine : x0z syntaxe, x1z information, x2z connexion et x5z système de messagerie. Le texte qui suit le code est libre et chaque serveur écrit le sien ; les logiciels ne regardent que le numéro.

Comme trois chiffres en disent peu sur la cause, la RFC 3463 a défini les codes d'état améliorés, au format classe.sujet.détail : 5.1.1 est un échec permanent (5) lié à l'adressage (1) parce que la boîte aux lettres n'existe pas (1). La classe reprend le sens du premier chiffre (2, 4 ou 5), le sujet regroupe la cause et le détail la précise. Les serveurs qui les utilisent l'annoncent avec l'extension ENHANCEDSTATUSCODES dans leur réponse à EHLO, et le même code apparaît dans le champ Status des messages de non-remise.

Le tableau réunit les codes de base de la RFC 5321 et ceux qu'ajoutent les extensions courantes (AUTH, STARTTLS, ETRN et null MX), ainsi que tous les codes améliorés du registre de l'IANA, avec les codes de base avec lesquels chacun apparaît habituellement. Les grands fournisseurs ajoutent leurs propres textes et liens d'aide, mais toujours sur ces mêmes numéros.

Exemples

550 5.1.1 <nadie@example.com>: Recipient address rejected: User unknown in local recipient table5xx Permanent · X.1.1 Bad destination mailbox addressLe rebond typique de Postfix lorsque le compte n'existe pas. Réessayer ne sert à rien : il faut corriger l'adresse. Si le même destinataire fonctionnait auparavant, le compte a très probablement été supprimé.
450 4.2.0 <ana@example.com>: Recipient address rejected: Greylisted4xx Transient · X.2.0 Other or undefined mailbox statusGreylisting : le serveur rejette temporairement l'expéditeur inconnu et attend qu'il réessaie. Un serveur de messagerie légitime le fait tout seul au bout de quelques minutes et le message passe ; beaucoup de logiciels de spam ne réessaient jamais.
AUTH LOGIN334 VXNlcm5hbWU6Le 334 transporte le défi en Base64 : VXNlcm5hbWU6 correspond à « Username: » et le suivant, UGFzc3dvcmQ6, à « Password: ». Si les identifiants sont incorrects, le serveur répond 535 5.7.8 ; s'il exige d'abord le chiffrement, 538 ou 530.

Cas d'usage

  • Comprendre pourquoi un e-mail a été rejeté à partir du message d'erreur renvoyé par le serveur.
  • Distinguer si une erreur est temporaire et que la file d'attente réessaiera, ou permanente et qu'il faut agir.
  • Diagnostiquer les échecs d'authentification lors de la configuration de l'envoi d'e-mails depuis une application, une imprimante ou un serveur.
  • Interpréter les rejets liés à SPF, DKIM, DMARC, au DNS inverse ou aux listes noires dans les journaux du serveur de messagerie.
  • Classer les rebonds dans une plateforme d'e-mailing pour supprimer les adresses inexistantes.
  • Lire une session SMTP capturée avec telnet, openssl s_client ou swaks.

Questions fréquentes

Quelle est la différence entre une erreur 4xx et une erreur 5xx ?

Une 4xx est temporaire : le serveur d'envoi garde le message en file d'attente et réessaie régulièrement, en général pendant quatre ou cinq jours, avant d'abandonner et de générer un message de non-remise. Une 5xx est permanente : le rebond est immédiat, et renvoyer le même message sans rien changer échouera à nouveau.

Pourquoi la réponse contient-elle deux codes, comme 550 5.1.1 ?

Le premier est le code de base à trois chiffres exigé par la RFC 5321. Le second est le code d'état amélioré de la RFC 3463, qui précise la cause : un 550 peut être dû à une boîte aux lettres inexistante (5.1.1), à un blocage par stratégie (5.7.1) ou à un échec SPF (5.7.23). Pour le diagnostic, fiez-vous surtout au code amélioré.

Que signifie le tiret dans 550-5.7.1 ?

Que la réponse s'étend sur plusieurs lignes. Toutes portent le même code, mais les lignes intermédiaires le séparent du texte par un tiret et la dernière par un espace : le client sait ainsi quand la réponse est terminée. C'est la même chose que dans la liste des extensions renvoyée par EHLO.

Pourquoi suis-je rejeté avec 550 5.7.1 alors que l'adresse existe ?

Parce que le 5.7.1 ne concerne pas le destinataire mais l'expéditeur : le serveur ne vous autorise pas à lui remettre ce message. Les causes habituelles sont que l'IP d'envoi figure sur une liste noire, que la vérification SPF, DKIM ou DMARC du domaine échoue, que l'IP n'a pas de DNS inverse ou qu'on a tenté d'utiliser le serveur comme relais sans s'authentifier. Le texte qui accompagne le code donne généralement un indice.

Pourquoi est-ce que j'obtiens 530 ou 535 en envoyant un e-mail depuis une application ?

Le 530 indique que le serveur exige une authentification, ou le démarrage de TLS, avant d'accepter le message ; le 535, que le nom d'utilisateur ou le mot de passe est incorrect. Vérifiez que l'application utilise le port 587 avec STARTTLS ou le port 465 avec TLS implicite, que l'authentification est activée et, chez des fournisseurs comme Gmail ou Microsoft 365, que vous utilisez un mot de passe d'application ou OAuth au lieu de votre mot de passe habituel.