Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
Petite traduction des messages de retour mail (flags return mail error) : Enhanced Status Codes Mail System - SMTP return codes - RFC 1893
NdM : 2022/02/21 - Modification rédactionnel (ajout des Status Code des retours des serveurs mails destinataires) ...
NdM : 2023/08/11 - Exemple de scripts pour récupérer les adresses mails fermées/unavailable ...
Si vous souhaitez analyser les messages de retour d'un mail envoyé/réceptionné, ci-dessous quelques informations qui vous aideront.
#SMTPreturnCode #SMTPCode : traduction des messages d'erreur de retour mail.
Message d'erreur standard en anglais | Traduction | |
---|---|---|
|
|
|
Signification : En quelque sorte, le "facteur électronique". | ||
|
|
|
Signification : Une erreur est survenue lors du traitement de votre message. Le "facteur électronique" qui a constaté cette erreur vous envoie un message où il vous indique, la plupart du temps en anglais, quelle erreur il a rencontrée. | ||
|
|
|
Signification : Un ou plusieurs destinataires de votre message n'ont pas reçu ledit message. Ce message d'erreur est généralement suivi d'un autre message plus court comme ceux abordés plus loin où figureront la ou les adresses e-mail qui ont causé l'erreur. |
||
|
|
|
Signification : Fichier joint contenant le rapport détaillé des erreurs rencontrées. Vous pouvez ouvrir ce fichier avec le Bloc-Notes de Windows ou votre traitement de texte par exemple. | ||
|
|
|
Signification : La boîte e-mail de votre correspondant est saturée. Il ne reste plus qu'à lui envoyer un message moins lourd (sans image par exemple) ou à lui téléphoner en lui demandant de faire le vide dans sa boîte... Il se peut que vous receviez ce message sans avoir écrit à personne. Il s'agit alors de votre propre compte e-mail qui est saturé. Allez vite sur votre webmail pour faire de la place en supprimant des messages. Ensuite, si vous utilisez un logiciel de messagerie (ex. : Outlook, Thunderbird...), vous pouvez éventuellement ajuster les paramètres "Conserver les messages sur le serveur" et "Supprimer les messages du serveur après XX jours". |
||
|
|
|
Signification : Vous essayez d'envoyer un message qui est trop volumineux (à cause de la ou des pièces jointes) compte tenu des limites fixées par votre système de messagerie électronique ou par celui du destinataire. Si possible, envoyez vos pièces jointes en plusieurs fois, ou alors utiliser un service tel que dl.free.fr . | ||
|
|
|
Signification : Soit vous avez fait une faute dans l'adresse de votre correspondant au niveau de la partie "utilisateur", soit la boîte e-mail de votre correspondant a été supprimée. Vérifiez l'orthographe, et si elle était erronée, tentez un nouvel envoi. (Vous pouvez éventuellement voir si vous n'avez pas oublié un point quelque part, ou confondu le tiret du 6 avec le tiret du 8...) |
||
|
|
|
Signification : Soit vous avez fait une faute d'orthographe au niveau de l'hôte de votre correspondant, soit le "facteur électronique" de votre correspondant est en panne. Vérifiez l'orthographe de l'hôte et tentez un nouvel envoi. Il se peut également que l'hôte de votre correspondant n'existe plus. Vérifiez si le site web correspondant est toujours en ligne. |
||
|
|
|
Signification : Votre logiciel de messagerie est probablement mal configuré (votre adresse en tant qu'expéditeur est mal orthographiée au niveau de l'hôte). Vérifiez, corrigez et réessayez. | ||
|
|
|
Signification : Le "facteur électronique" de votre correspondant ne répond pas. Votre message est donc en attente depuis 4 heures. De nouvelles tentatives d'envoi seront faites automatiquement et régulièrement pendant généralement 5 jours en tout (laissez faire et attendez). Au-delà de ce délai, votre message sera détruit. Vous recevrez alors un nouveau message d'erreur. Vous pourrez alors réessayer d'envoyer un message en espérant que le "facteur électronique" de votre correspondant soit de nouveau opérationnel. | ||
|
|
|
Signification : Le message que vous avez envoyé initialement vous est rappelé (dans son format brut) pour information. | ||
|
|
|
Signification : Lorsque le message d'erreur vous rappelle votre message initial, la fin de votre message peut avoir été coupée pour éviter que le message d'erreur soit trop volumineux. | ||
|
|
|
Signification : Votre hôte a probablement été banni (peut-être temporairement) par l'hôte de votre destinataire pour avoir été trop laxiste avec les spammeurs. Le plus simple est d'écrire à votre correspondant depuis une autre adresse (avec un hôte différent). Vous pouvez également attendre 4 heures (banissement temporaire, voir explications de Yahoo! ) puis tenter d'envoyer à nouveau le message avec votre adresse initiale. |
||
|
|
|
Signification : Votre message a été bloqué et rejeté , soit parce qu'il ressemblait à un spam, soit parce que votre hôte a la réputation d'envoyer du spam. Essayez de modifier (simplifier, enlever les liens inutiles...) le contenu de votre message, ou envoyez-le depuis une adresse avec un hôte différent.
|
||
Plus d'informations ici : http://www.rfc-editor.org/rfc/rfc1893.txt
Ci-dessous la liste des codes d'erreurs SMTP. Traduction de cette page : USPS SMTP Error Codes
420
Délai de connexion au problème : des problèmes sont survenus pendant le transfert du message.
Ce message d'erreur est généré uniquement par les serveurs GroupWise. Soit votre email a été bloqué par le pare-feu du destinataire, soit il y a un problème matériel. Vérifiez auprès de votre fournisseur.
421
Le service est indisponible en raison d'un problème de connexion: il peut s'agir d'un dépassement du nombre de connexions simultanées ou d'un problème temporaire plus général.
Le serveur (le vôtre ou celui du destinataire) n'étant pas disponible pour le moment, l'envoi sera réessayé ultérieurement.
422
La boîte aux lettres du destinataire a dépassé sa limite de stockage.
Le mieux est de contacter l'utilisateur via un autre canal pour le prévenir et lui demander de créer de la place libre dans sa boîte aux lettres.
431
Espace disque insuffisant ou condition mémoire insuffisante en raison d'une surcharge de fichier.
Cette erreur peut dépendre d'un trop grand nombre de messages envoyés à un domaine particulier. Vous devriez essayer à nouveau d'envoyer de plus petits ensembles d'emails au lieu d?un gros envoi mail.
432
Message latéral typique: La file d'attente du courrier entrant du serveur Exchange Server du destinataire a été arrêtée.
C'est un code d'erreur SMTP d'un serveur Microsoft Exchange. Vous devriez le contacter pour obtenir plus d'informations: c'est généralement dû à un problème de connexion.
441
Le serveur du destinataire ne répond pas.
Il y a un problème avec le serveur entrant de l'utilisateur: le vôtre essaiera de le contacter à nouveau.
442
La connexion a été interrompue pendant la transmission.
Un problème de connexion réseau typique, probablement dû à votre routeur: vérifiez-le immédiatement.
446
Le nombre de sauts maximum a été dépassé pour le message: une boucle interne s'est produite.
Demandez à votre fournisseur SMTP de vérifier ce qui s'est passé.
447
Votre message sortant a expiré en raison de problèmes liés au serveur entrant.
Cela se produit généralement lorsque vous avez dépassé le nombre limite de destinataires de votre serveur pour un message. Essayez de l'envoyer à nouveau en segmentant la liste en différentes parties.
449
Une erreur de routage.
Comme l'erreur 432, elle concerne uniquement Microsoft Exchange. Utilisez WinRoute.
450
Action requise non effectuée. La boîte aux lettres de l'utilisateur n'est pas disponible. La boîte aux lettres a été corrompue ou placée sur un serveur hors ligne, ou votre courrier électronique n'a pas été accepté pour des problèmes IP ou une liste noire.
Le serveur réessayera d'envoyer le message à nouveau, après un certain temps. Quoi qu'il en soit, vérifiez que votre adresse IP est fiable.
451
Action demandée annulée. Erreur locale lors du traitement. Le serveur de votre FAI ou le serveur qui a reçu un premier relais de votre part a rencontré un problème de connexion.
Il s'agit normalement d'une erreur transitoire due à une surcharge de messages, mais elle peut également faire référence à un rejet dû à un filtre antispam distant. Si le problème se répète, demandez à votre fournisseur SMTP de vérifier la situation. (Si vous envoyez un gros courrier électronique avec un courrier gratuit, cela peut être un problème courant).
452
Trop d'e-mails envoyés ou trop de destinataires : plus généralement, la limite de stockage du serveur est dépassée.
Encore une fois, la cause typique est une surcharge de messages. Habituellement, le prochain essai aboutira: en cas de problème sur votre serveur, un message latéral du type Mémoire insuffisante s'affichera.
471
Une erreur de votre serveur de messagerie, souvent due à un problème de filtre anti-spam local.
Contactez votre fournisseur de services SMTP pour résoudre le problème.
500
Une erreur de syntaxe: le serveur n'a pas pu reconnaître la commande.
Cela peut être dû à une mauvaise interaction du serveur avec votre pare-feu ou votre antivirus. Lisez attentivement leurs instructions pour le résoudre.
501
Une autre erreur de syntaxe, pas dans la commande mais dans ses paramètres ou arguments.
Dans la plupart des cas, cela est dû à une adresse électronique invalide, mais elle peut également être associée à des problèmes de connexion (et encore une fois, à un problème concernant les paramètres de votre antivirus).
502
La commande n'est pas implémentée.
La commande n'a pas encore été activée sur votre propre serveur. Contactez votre fournisseur pour en savoir plus.
503
Le serveur a rencontré une mauvaise séquence de commandes ou nécessite une authentification.
En cas de séquence incorrecte, le serveur a exécuté ses commandes dans un ordre incorrect, généralement à cause d'une connexion interrompue. Si une authentification est nécessaire, vous devez entrer votre nom d'utilisateur et votre mot de passe.
504
Un paramètre de commande n'est pas implémenté.
Comme l'erreur 501, il s'agit d'un problème de syntaxe. vous devriez demander à votre fournisseur.
510
Mauvaise adresse email.
L'une des adresses de votre ligne TO, CC ou BBC n'existe pas. Vérifiez à nouveau les comptes de vos destinataires et corrigez les fautes d?orthographe.
511
Mauvaise adresse email.
L'une des adresses de votre ligne TO, CC ou BBC n'existe pas. Vérifiez à nouveau les comptes de vos destinataires et corrigez les fautes d?orthographe.
512
Une erreur DNS.
Vérifiez à nouveau toutes les adresses de vos destinataires: il y aura probablement une erreur dans un nom de domaine (comme mail (at) domaine (dot) coom au lieu de mail (at) domaine (dot) com ).
523
La taille totale de votre mailing dépasse les limites du serveur destinataire.
Renvoyez votre message en divisant la liste en sous-ensembles plus petits.
530
Normalement, un problème d'authentification. Mais parfois, il s'agit de la liste noire du serveur du destinataire, ou d'une adresse électronique invalide.
Configurez vos paramètres en fournissant une authentification nom d'utilisateur + mot de passe. Si l'erreur persiste, vérifiez toutes les adresses de vos destinataires et si vous avez été mis sur la liste noire.
541
L'adresse du destinataire a rejeté votre message: normalement, c'est une erreur provoquée par un filtre anti-spam.
Votre message a été détecté et étiqueté comme spam. Vous devez demander au destinataire de vous mettre en liste blanche.
550
Il définit généralement une adresse électronique inexistante du côté distant.
Bien qu'il puisse également être renvoyé par le pare-feu du destinataire (ou lorsque le serveur entrant est en panne), la grande majorité des erreurs 550 indiquent simplement que l'adresse électronique du destinataire n'existe pas. Sinon, vous devez contacter le destinataire et obtenir la bonne adresse.
551
Adresse non locale ou invalide. Relais refusé. Cela signifie que si votre adresse et celle du destinataire ne sont pas hébergées localement par le serveur, un relais peut être interrompu.
C'est une stratégie (pas très intelligente) pour empêcher le spam. Vous devez contacter votre fournisseur de services Internet et lui demander de vous autoriser en tant qu'expéditeur certifié.
552
Actions de messagerie demandées abandonnées. Allocation de stockage dépassée : tout simplement, la boîte aux lettres du destinataire a dépassé ses limites.
Essayez d'envoyer un message plus léger : cela se produit généralement lorsque vous envoyez des e-mails contenant de grandes pièces jointes. Vérifiez-les dabord.
553
554
Cela signifie que la transaction a échoué. C'est une erreur permanente et le serveur ne tentera plus d'envoyer le message.
Le serveur entrant pense que votre courrier électronique est du spam ou votre adresse IP a été mise sur la liste noire. Vérifiez attentivement si vous vous êtes retrouvé dans certaines listes de courrier indésirable.
Pour compter les mails en file d'attente Postfix :
Pour savoir quels domaines ont beaucoup de mails deferred en réception :
/opt/zimbra/bin/qshape deferred
Si vous ne trouvez pas ou que vous n'utilisez pas zimbra - rechercher une commande avec which qshape
logiquement dans /usr/sbin/
ou /usr/bin/
Script avec 21 lignes
001 T 5 10 20 40 80 160 320 640 1280 1280+ 002 TOTAL 8380 9 6 5 20 49 82 241 403 816 6749 003 yahoo.fr 2866 2 1 0 6 15 30 88 142 315 2267 004 free.fr 2259 2 1 3 3 14 15 54 105 203 1859 005 aol.com 1189 1 2 0 1 10 24 41 77 123 910 006 voila.fr 1003 3 2 0 2 6 6 26 40 100 818 007 tele2.fr 286 1 0 1 1 1 0 6 13 21 242 008 libertysurf.fr 202 0 0 1 2 1 3 7 5 15 168 009 yahoo.com 71 0 0 0 1 0 0 3 4 8 55 010 infonie.fr 65 0 0 0 0 1 2 1 4 5 52 011 chello.fr 63 0 0 0 0 0 0 3 1 3 56 012 ifrance.com 54 0 0 0 0 0 1 1 1 2 49 013 aliceadsl.fr 41 0 0 0 1 0 0 2 2 1 35 014 worldonline.fr 28 0 0 0 0 0 0 1 0 2 25 015 freesbee.fr 21 0 0 0 0 0 0 1 0 0 20 016 nomade.fr 12 0 0 0 0 0 0 1 2 0 9 017 online.fr 9 0 0 0 0 0 0 0 1 0 8 018 boursorama.com 7 0 0 0 0 0 0 0 0 0 7 019 laposte.net 6 0 0 0 1 0 0 0 0 2 3 020 yahoo.ca 5 0 0 0 1 0 0 0 0 0 4 021 clubobs.com 5 0 0 0 0 0 0 0 2 0 3
/opt/zimbra/bin/qshape -s active
Script avec 3 lignes
001 T 5 10 20 40 80 160 320 640 1280 1280+ 002 TOTAL 1 1 0 0 0 0 0 0 0 0 0 003 web.zw3b.net 1 1 0 0 0 0 0 0 0 0 0
On pourrait faire une analyse rapide (mais fausse) des les mails en file d'attente Postfix :
Script avec 1 ligne
001/opt/zimbra/common/sbin/postqueue -p | grep '@' -B2 --no-group-separator | awk '{print $1}' | sed -e '/(@)/d' | sed -e '/(suspended|lost|Host|host|delivery|connect)/d' | sed -e '/^$/d' | wc -l
Qui doit retourner logiquement la même valeur que qshape deferred
:/ haha :/ C'est mon expression régulière qui est fausse !
Exemples de commande pour trouver plus particulièrement pour les erreurs 5yz (Permanent Negative Completion Reply) dans les mails deferred
Par exemple - le retour 500 du serveur SMTP destinataire :
Script avec 2 lignes
001// Error : 500 002/usr/sbin/postqueue -p | grep 'said: 500' -B1 --no-group-separator | awk '{print $1}' | sed -e '/(suspended|lost|Host|host|delivery|connect)/d' | wc -l
Par exemple - le retour 422 du serveur SMTP destinataire - La boîte aux lettres du destinataire a dépassé sa limite de stockage :
Script avec 3 lignes
001// La boîte aux lettres du destinataire a dépassé sa limite de stockage. 002// Error : 422 003/usr/sbin/postqueue -p | grep 'said: 422' -B1 --no-group-separator | awk '{print $1}' | sed -e '/(suspended|lost|Host|host|delivery|connect)/d' | wc -l
Maintenant que j'ai configuré mon serveur de mail zimbra avec DMARC, l'authentification et la conformité des messages basés sur le domaine et création de rapports.
En passant, en suivant ce super tutoriel :) [Zimbra] Les bonnes pratiques pour un serveur mail SPF / DKIM / DMARC .
DMARC (Domain-based Message Authentication, Reporting, and Conformance) standardise la façon dont les destinataires (au sens des MTA destinataires) réalisent l'authentification des courriels en utilisant les mécanismes de Sender Policy Framework (SPF) et de DomainKeys Identified Mail (DKIM).
Cela signifie que l'expéditeur (au sens d'un MTA expéditeur) recevra les résultats de l'authentification de ses messages par tout destinataire qui implémente DMARC et donc que je reçois les messages de retour des mails non transmis.
J'ai, donc, un serveur mail PHP authentifié et conforme à la RFC 7489 normalisé par l'Internet Engineering Task Force (IETF) .
Et maintenant je reçois les mails non réceptionnés par les destinataires (envoyé depuis mes scripts PHP) avec les erreurs des retour.
Tout de plus normal - Mon serveur mail d'envoie a recus un résultat du serveur mail destinataire et me le retourne.
Je peut et doit vider ma base de données des mails invalide maintenant pour ne pas saturer inutilement les serveurs mails destinataires.
Status code dans le corps des messages de retour (à l'envoyeur) s'il y a eu une erreur de réception.
Ci dessous les différents messsages de retours que j'ai recus.
Les erreurs 550 peuvent avoir plusieurs Status :
Status: 5.0.0
- mailbox unavailable
Status: 5.5.0
- mailbox unavailable
Status: 5.1.1
- Adresse destinataire invalide. Invalid recipient
Status: 5.1.10
- RESOLVER.ADR.RecipientNotFound; Recipient not found by SMTP address lookup
Status: 5.2.1
- Receiving Rate Perm - 550-5.2.1
Status: 5.4.14
- Hop count exceeded - possible mail loop ATTR34.
Status: 5.4.4
- Domain Lookup Failed.
Status: 5.4.6
- Domain Lookup Failed.
Status: 5.7.1
- Email rejected per SPAM policy - Very low reputation of the sending IP address. 550 5.7.1 https://support.google.com/mail/answer/188131
Status: 5.7.606
- Access denied, banned sending IP
Les erreurs 400 peuvent avoir plusieurs Status :
Status: 4.0.0
Status: 4.4.1
- delivery temporarily suspended: connect to destdomain.tld[ADDRESS_IP_DEST_MAILSERVER]:25: Connection timed out
Status: 4.4.2
- delivery temporarily suspended: lost connection with mailgw.destdomain.tld[ADDRESS_IP_DEST_MAILSERVER] while receiving the initial server greeting
Status: 4.4.3
- delivery temporarily suspended: Host or domain name not found.
Status: 4.4.4
- no MX or A for domain.
Status: 4.7.0
- Messages from "Address IP" temporarily deferred due to unexpected volume or user complaints
J'ai dû récupérer ma boite mail pour lire tous les fichiers mails.eml (parce qu'il n'y plus la commande zmmboxsearch
dans Zimbra 8 OpenSource ).
J'ai écris une commande pour récupérer toutes les adresses mails des destinataires invalide / des boîtes mails qui n'existe plus.
Je souhaite rechercher une expression dans les mails des dossiers :
./Inbox/Undelivered_Mail_Returned_to_Sender/20220212/
./Inbox/Undelivered_Mail_Returned_to_Sender/20220212!1/
./Inbox/Undelivered_Mail_Returned_to_Sender/20220212!2/
....
de ma boite de réception (Inbox). Et trouver les adresses mails avec les Status: 5.1.1 - donc des boîtes aux lettres mails invalide.
Script avec 1 ligne
001for m in /home/lab3w_orj/Inbox/Undelivered_Mail_Returned_to_Sender/20220212\!*/*; do cat "$m" | grep 'Status: 5.1.1' -B2 --no-group-separator | sed 's/Original-Recipient: rfc822;//' | sed -e '/Action: failed/d' | sed -e '/Status: 5.1.1/d' | sed -e '/^$/d' >> /home/lab3w_orj/mail-`date +%Y%m%d`-5.1.1.txt ; done;
Qui me retourne le fichier mail-20220212-5.1.1.txt
avec toutes les adresses mails de destinataire invalide (Status: 5.1.1)
Faire pareil avec les autres Status: 5.0.0, Status: 5.1.10, Status: 5.5.0, Status: 4.4.4 et Status: 5.4.4 ;-)
Vérifiez avec cette commande par exemple que le fichier ne contient pas de ligne particulière :/
cat mail-20220212-5.1.1.txt | grep ";"
il se peut qu'il y est quelles lignes particulières - Final-Recipient: rfc822;email@domain.tld
Utiliser la commande sed
pour rechercher et pour remplacer (substituer) les lignes contenant "Final-Recipient: rfc822;"
Script avec 1 ligne
001sed -ri 's/Final-Recipient:(.*)rfc822;([[:space:]])?//gi' mail-20220212-5.1.1.txt
L'option -r
(--regexp-extended
) permet de faire des regex (les caractères étendues) : +
; ?
; |
; (
)
; [
]
; {
}
L'option -i
permet de modifier la sortie (donc le fichier) - Sans l'option -i
les substitutions sont juste affichées sur la sortie standard :)
Puis j'ai fais un script PHP/MySQL pour supprimer toutes ces adresses mails de la base de données ;) entre autre !
SELECT email FROM usr WHERE email = $email LIMIT 1; DELETE .....
Pour exemple 2 scripts à l'arache :
Je vous mets l'adresse https://download.zw3b.fr/scripting/php/mail-smtp-return-error/ d'un des répertoire "public" où il y 2 scripts dont je me sert toutes les semaines (c'est précaire mais çà fonctionne) :
mail-search-unavailable.sh
: scanne tous les mails d'un de vos répertoire (par exemple, Undelivered_Mail_Returned_to_Sender) de votre boite mails et stocke les adresses mails des boites mails fermées/unavailable dans des fichiers (Status: 5.0.0|5.1.1|5.1.10|5.5.0|4.4.4|5.4.4 (et 4.0.0|5.7.1|4.7.0 à ne pas supprimer).mails-in-mailing-del.phps
: suprime les mails fermées/unavailable (un compte inscript à la newseltter) de votre base de données MySQL.
:-)
J'ajoute ce lien où l'on parle de comment lire les Rapports DMARC des fichiers XML..
Comment mettre de la couleur en sortie de lecture d'une commande, d'un fichier etc..