// comment corriger
SMTP « 421 Too many connections » ou limite de débit : comment le corriger
Le serveur destinataire répond 421 too many connections ou rate limit ? Ralentissez vos envois avec moins de connexions, ou ajustez les limites de Postfix.
Ce que ça veut dire
Une réponse 421 signifie « pas maintenant, réessayez plus tard ». Le serveur destinataire ferme la connexion parce que vous en avez ouvert trop en même temps, ou que vous envoyez trop vite. C'est une erreur temporaire : un serveur mail normal garde le message et réessaie. Sur les serveurs Postfix, le message ressemble généralement à ceci :
421 4.7.0 mx.example.com Error: too many connections from 203.0.113.10
D'autres serveurs le formulent autrement (« Too many concurrent SMTP connections », « Try again later, closing connection », « rate limited »). Un message Postfix voisin est 450 4.7.1 Error: too much mail from 203.0.113.10 (limite du nombre de messages).
Certains grands fournisseurs ont leurs propres codes, avec leurs propres guides : Gmail 421 4.7.28 et Microsoft 451 4.7.500 ; Yahoo a ses propres codes TSS.
Pourquoi cela arrive
- Trop de connexions en parallèle. Votre application ou votre serveur ouvre beaucoup de connexions à la fois (une newsletter ou un script qui envoie chaque email dans sa propre connexion).
- Trop de messages par minute depuis une même IP ou un même compte.
- Réputation faible ou nouvelle. Les destinataires acceptent moins d'emails des IP qu'ils ne connaissent pas : un volume sans problème pour une IP ancienne déclenche des limites sur une IP nouvelle.
- IP partagée. D'autres clients sur la même IP consomment une partie du quota.
- Les limites de votre propre serveur, si c'est votre serveur qui répond 421 à vos applications ou à un partenaire.
- Limites du compte d'envoi. Les fournisseurs de messagerie limitent les sessions SMTP et les messages par compte ; un
421ou un4.7.0pendant un gros envoi depuis une boîte normale est fréquent.
Comment vérifier
- Identifiez qui répond. Le nom d'hôte dans la ligne 421 vous indique s'il s'agit du serveur du destinataire, du relais de votre fournisseur ou de votre propre serveur.
- Sur votre Postfix d'envoi, regardez les messages différés :
postqueue -p | grep -i "too many" | sort | uniq -c grep "421" /var/log/mail.log | tail
- Sur votre Postfix de réception, le service
anviljournalise les pics :grep "anvil" /var/log/mail.log | tail postconf smtpd_client_connection_count_limit smtpd_client_connection_rate_limit smtpd_client_message_rate_limit anvil_rate_time_unit
- Vérifiez la réputation : cherchez votre IP d'envoi sur les listes noires et envoyez un test à l'adresse unique affichée sur la page d'accueil de Delivmail. Un rapport propre signifie que la limite concerne le volume, pas un blocage.
Comment corriger
Si vous êtes l'expéditeur : envoyez plus lentement
Dans une application avec nodemailer, réutilisez quelques connexions au lieu d'en ouvrir une par message :
const transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
pool: true, // reuse connections
maxConnections: 2, // parallel connections
maxMessages: 100, // messages per connection
rateDelta: 1000, // time window in ms
rateLimit: 5, // messages per window
auth: { user: 'you@yourdomain.com', pass: process.env.SMTP_PASS }
});Avec Postfix, ralentissez uniquement la destination qui se plaint, grâce à un transport dédié. Dans master.cf :
slow unix - - n - 2 smtp
Dans main.cf :
transport_maps = hash:/etc/postfix/transport slow_destination_concurrency_limit = 2 slow_destination_rate_delay = 1s
Et dans /etc/postfix/transport, puis lancez postmap /etc/postfix/transport et systemctl reload postfix :
example.com slow:
Étalez les grosses campagnes dans le temps et, si votre IP ou votre domaine est nouveau, augmentez le volume progressivement (voir chauffer un nouveau domaine ou une nouvelle IP). Ne faites pas tourner les IP ou les comptes pour contourner les limites : les destinataires le voient et cela nuit à votre réputation.
Si c'est votre propre serveur qui répond 421
Les valeurs par défaut (smtpd_client_connection_count_limit = 50 par client, limites de débit désactivées) conviennent à la plupart des serveurs. Si vous avez fixé des limites plus strictes, relevez-les, ou excluez les expéditeurs de confiance comme vos propres applications :
smtpd_client_event_limit_exceptions = $mynetworks, 203.0.113.10
Pour les applications, la meilleure solution reste d'envoyer via le port de soumission avec un pool de quelques connexions, comme ci-dessus.
Vérifiez que c'est corrigé
Surveillez le journal pendant le prochain envoi : les messages différés doivent quitter la file d'attente avec status=sent, et les nouvelles lignes 421 doivent cesser. Lancez un nouveau test Delivmail pour confirmer que l'authentification et la réputation sont propres, puis renvoyez votre message à l'adresse qui avait été différée si elle a finalement renvoyé une erreur.
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
- Vos emails arrivent dans le dossier spam de GmailQuand Gmail envoie vos emails en spam, la cause est presque toujours l'authentification, la réputation ou le contenu. Voici comment trouver laquelle et la corriger.
- Vos emails arrivent dans les indésirables d'Outlook ou HotmailOutlook.com, Hotmail et Live envoient beaucoup de nouveaux expéditeurs dans les Courriers indésirables. Vérifiez votre configuration, puis utilisez les outils gratuits de Microsoft pour les expéditeurs : SNDS, JMRP et le portail de retrait.
- Erreur Gmail « 550 5.7.26 » : email non authentifiéGmail a refusé votre email parce qu'il n'a pas pu confirmer qu'il vient de votre domaine. Le SPF, le DKIM ou le DMARC est absent ou en échec. Voici comment corriger.
- Erreur « 550 5.7.1 » : message refusé ou bloqué par une règleUne erreur 5.7.1 signifie que le serveur de réception a refusé votre email volontairement. Apprenez à lire les messages d'erreur, à trouver la vraie raison et à la corriger.
- Chauffer un nouveau domaine ou une nouvelle adresse IPUn nouveau domaine ou une nouvelle IP n'a pas encore de réputation. Envoyer une grosse campagne dès le premier jour ressemble à du spam. Commencez petit et augmentez votre volume par étapes.