Ralentir le débit d’envoi Postfix

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.

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

Une réponse sur “Ralentir le débit d’envoi Postfix”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *