Lorsque vous envoyez un grand nombre de mails vers certains domaines, notamment « orange.fr », « wanadoo.fr » ou encore « laposte.net », vous pouvez facilement vous retrouver face à des problèmes d’envoi de mails, se traduisant dans vos logs par des erreurs de type « too many connections ».
Nous allons donc voir comment ralentir le débit d’envoi de Postfix.

Voici l’erreur en question que l’on peut retrouver dans les logs :
Feb 6 14:31:48 mail postfix/smtp[21691]: F2C2D8C7912: to=<utilisateur@laposte.net>, relay=smtpz4.laposte.net[194.117.213.1]:25, delay=13, delays=0.01/0.02/13/0, dsn=4.7.0, status=deferred (host smtpz4.laposte.net[194.117.213.1] refused to talk to me: 421 4.7.0 Error: too many connections)
Des FAI, comme orange par exemple, ont choisi de limiter le nombre de mails envoyés, cela se traduit par des erreurs 421 dans les logs de postfix.
Création fichier transport
Pour éviter cela, nous allons donc créer le fichier transport.
vim /etc/postfix/transport
Celui-ci, indiquera à Postfix d’utiliser la règle « slow ».
Ensuite, nous y indiquerons les domaines imposants des restrictions.
orange.fr slow: wanadoo.fr slow: laposte.net slow:
Il faut penser ensuite à reconstruire la base transport avec la commande :
postmap /etc/postfix/transport
Celle-ci va vous créer le fichier transport.db
Configuration Postfix
Pour la suite, vous allez devoir configurer deux fichiers pour que Postfix interprète le fichier transport.
En ajoutant cette ligne dans /etc/postfix/master.cf :
# Postfix-slow slow unix - - n - 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1
Puis, en ajoutant les lignes ci-dessous dans /etc/postfix/main.cf :
transport_maps = hash:/etc/postfix/transport slow_destination_concurrency_limit = 3 slow_destination_rate_delay = 3s
Pour finir, il vous faudra recharger la configuration de Postfix :
/etc/init.d/postfix reload
Relai Postfix
Si vous avez configuré un relai dans votre postfix, vous devez modifier le fichier transport comme ceci :
domaine règles:relais
Exemple :
domaine.fr slow:[external.relay.server]
Test de fonctionnement
Afin de vérifier le bon déroulement de nos actions, il faut regarder dans les logs de postfix, on doit y voir l’ajout de postfix-slow lors de l’utilisation de celui-ci sur les domaines précisés dans le fichier transport.
Feb 12 10:15:00 mail postfix-slow/smtp[12679]: F40C18C78FF: to=<utilisateur@orange.fr>, relay=smtp-in.orange.fr[80.12.242.9]:25, delay=7.9, delays=0/0.01/7.7/0.13, dsn=2.0.0, status=sent (250 2.0.0 jlFR1u00K1EVoMP01lFR49 mail accepted for delivery)
Vous savez à présent ralentir le débit d’envoi de Postfix 🙂
Si cela vous intéresse, vous retrouverez comment mettre un message d’absence avec un serveur Postfix ici : https://sqx-bki.fr/message-dabsence-sous-postfix-via-vacation
Super merci 🙂
Merci, voilà qui solutionne bien des tracas…
Content que cela puisse t’aider 🙂
Super, merci beaucoup !!
Pour postfix > 2.7, changer
transport_maps = hash:/etc/postfix/transport
en
transport_maps = texthash:/etc/postfix/transport
Pas la peine de faire « postmap /etc/postfix/transport »
Top ! Merci pour le tips 🙂
Bonjour,
Enfin un article clair, efficace, utile et qui marche sur le sujet postfix et slowdown pour éviter les erreurs de type : Too many connections, slow down. OFR203_104 [104]
Un grand merci !