// comment corriger
« 4.4.7 Message expired » et « Delivery Status Notification (Delay) » (« 451 4.4.0 DNS query failed ») : causes et solutions
Votre serveur a tenté de livrer pendant des heures ou des jours, puis a abandonné. Pourquoi les emails sont retardés puis expirent, et comment trouver et corriger la cause.
Ce que ça veut dire
Quand un email ne peut pas être remis tout de suite, le serveur d'envoi le garde en file d'attente et réessaie régulièrement. Pendant cette attente, vous pouvez recevoir un avertissement intitulé « Delivery Status Notification (Delay) » ou « Delivery delayed ». Si le problème dure trop longtemps, le serveur abandonne et envoie un message d'échec définitif. Cette période de nouvelles tentatives dure en général entre un et cinq jours, selon le serveur. Les messages ressemblent généralement à ceux-ci :
Delivery to the following recipient has been delayed: user@example.com Status: 4.4.7 550 4.4.7 QUEUE.Expired; message expired 451 4.4.0 DNS query failed
Le code 4.4.7 signifie « délai de remise expiré ». Ce n'est pas la vraie cause. La vraie raison est la dernière erreur rencontrée par le serveur pendant ses tentatives. Cherchez-la dans le message d'erreur : elle figure souvent sous « Diagnostic code », « Remote server returned » ou « Last error ».
Pourquoi cela arrive
- Le serveur mail du destinataire est en panne ou injoignable, donc chaque tentative échoue.
- Des problèmes de DNS. Le domaine du destinataire n'a pas d'enregistrement MX, ses serveurs de noms ne répondent pas, ou le résolveur DNS de votre propre serveur est défaillant.
451 4.4.0 DNS query failed(une formulation de Microsoft 365 / Exchange) renvoie à ce cas. - Le port 25 sortant est bloqué sur votre réseau. Beaucoup de fournisseurs d'accès, de cloud et de VPS le bloquent par défaut, et votre serveur ne peut alors se connecter à personne.
- Le greylisting n'est jamais passé. Certains serveurs refusent volontairement la première tentative et acceptent une tentative ultérieure. Si votre serveur ne réessaie pas correctement, ou réessaie à chaque fois depuis une IP différente, il ne passe jamais.
- La limitation de débit. Le destinataire n'accepte que quelques emails à la fois depuis votre IP (fréquent chez les grands fournisseurs quand votre réputation est faible ou que le volume augmente brusquement), et répond par des codes temporaires
421ou451. - Un blocage temporaire, par exemple un report lié à la réputation, qui a fini en expiration.
Comment vérifier
- Lisez la dernière erreur dans le message d'échec. Un timeout oriente vers le réseau ou un pare-feu, une erreur DNS vers le DNS, un
421vers une limitation de débit ou la réputation. - Scannez le domaine du destinataire sur
/domain-scanner. S'il n'affiche aucun enregistrement MX, le problème est de son côté. - Testez vos propres envois. Envoyez un email à l'adresse unique de la page d'accueil (
/). S'il n'arrive pas, votre serveur ne peut probablement rien envoyer du tout (port 25 bloqué, DNS défaillant). S'il arrive, le rapport affiche votre IP, votre DNS inverse, les listes noires et l'authentification, ce qui peut expliquer une limitation de débit. - Vérifiez les listes de blocage pour votre IP sur
/blacklists. - Sur votre propre serveur, examinez la file d'attente et les journaux (dans Postfix,
mailqet le journal mail) pour connaître l'erreur exacte de chaque tentative.
Comment corriger
- Serveur ou DNS du destinataire en panne : rien à corriger de votre côté. Prévenez le destinataire par un autre canal et renvoyez plus tard.
- Votre résolveur DNS : assurez-vous que votre serveur sait résoudre les noms (testez avec
dig MX example.com). Utilisez un résolveur local fiable. - Port 25 bloqué : demandez à votre fournisseur de l'ouvrir, ou envoyez via un relais (smarthost) sur le port 587 avec identification.
- Greylisting : gardez les réglages de nouvelle tentative par défaut de votre serveur mail. Envoyez depuis une seule IP stable, pas depuis un groupe d'IP qui change à chaque tentative.
- Limitation de débit ou réputation : envoyez plus lentement, étalez les grosses campagnes dans le temps, authentifiez-vous avec SPF, DKIM et DMARC, configurez un DNS inverse correct et réglez toute inscription sur une liste de blocage.
- Renvoyez les emails expirés une fois la cause corrigée. Les emails expirés ne sont pas retentés automatiquement.
Vérifiez que c'est corrigé
Lancez un nouveau test Delivmail : il doit arriver rapidement et afficher un rapport propre. Vérifiez que la file d'attente de votre serveur se vide. Renvoyez ensuite l'email à l'adresse pour laquelle il avait expiré et surveillez vos journaux pour voir une réponse 250 du serveur destinataire. Si une limitation de débit était en cause, il peut falloir quelques jours d'envois réguliers et propres avant que les remises redeviennent rapides.
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
- Aucun enregistrement SPF sur votre domaineVotre domaine n'indique pas quels serveurs ont le droit d'envoyer des emails en son nom. Ajoutez un enregistrement TXT et les destinataires sauront distinguer vos vrais emails des faux.
- Erreur SPF : trop de requêtes DNS (permerror)Le SPF autorise au maximum 10 requêtes DNS. Au-delà, tout l'enregistrement est cassé et les destinataires le considèrent comme invalide. Voici comment l'alléger.
- Plusieurs enregistrements SPF sur un même domaineUn domaine ne doit avoir qu'un seul enregistrement SPF. Avec deux ou plus, le SPF échoue pour tous vos emails. Fusionnez-les en une seule ligne.
- Échec SPF : le serveur d'envoi n'est pas autoriséVotre domaine a un enregistrement SPF, mais le serveur qui a envoyé votre email n'y figure pas. Trouvez quel service a envoyé l'email et ajoutez-le.
- Aucune signature DKIM sur vos emailsLe DKIM ajoute une signature numérique qui prouve qu'un email vient bien de votre domaine. Activez-le chez votre fournisseur de messagerie et publiez sa clé dans le DNS.