Un rejet est un refus accompagné d'un motif. Le motif est un code à trois chiffres et une ligne de texte, d'ordinaire enfouis sous quantité d'en-têtes — et il est presque toujours assez précis pour agir sur-le-champ.

Le premier chiffre

  • 4xx — temporaire. Le serveur expéditeur réessaiera pendant des jours. Rien à faire, sauf si cela persiste.
  • 5xx — définitif. Il n'y aura pas de nouvelle tentative. Quelque chose doit changer.

Les plus courants

  • 550 No such user — l'adresse n'existe pas. Une faute de frappe, ou quelqu'un est parti.
  • 550 Message rejected as spam — remis au serveur puis refusé sur le contenu ou la réputation.
  • 550 SPF / DKIM / DMARC failure — vous n'êtes pas autorisé à envoyer au nom de ce domaine. Voir l'article sur le courrier qui atterrit dans les indésirables.
  • 552 Mailbox full — le problème du destinataire, et il l'ignore peut-être.
  • 421 Too many connections — vous envoyez trop vite. Ralentissez plutôt que d'insister.
  • 550 Client host blocked — votre adresse figure sur une liste de blocage. Le message dit laquelle.

Si votre adresse IP est listée

Le rejet renvoie d'ordinaire vers la liste. Cherchez d'abord la raison — presque toujours un compte compromis ou un formulaire détourné pour envoyer — car sortir de la liste sans corriger la cause vous y ramène en une journée.

grep -c "status=sent" /var/log/mail.log
grep "status=bounced" /var/log/mail.log | tail -20
Une bouffée soudaine de courrier sortant que vous n'avez pas envoyé signifie une boîte compromise ou un formulaire de contact détourné. Arrêtez l'envoi avant de demander le retrait : la liste n'est qu'un symptôme.
Conservez les rejets. Une liste d'adresses définitivement en échec, retirées de votre propre liste, est ce qui maintient une bonne réputation d'expéditeur. Envoyer à répétition vers des adresses mortes est l'un des signaux de spam les plus forts qui soient.