Cette page décrit une façon de configurer Postfix pour temporiser les envois de courriels.
Exemple de mise en place sur listes.auf.org
fichier /etc/postfix/main.cf :
# pour auf.org, on envoie par paquet de 500 destinataires auf_destination_recipient_limit = 500 # temporisation « polie » (typiquement pour Google et Hotmail) polite_destination_recipient_limit = 5 polite_destination_concurrency_limit = 2 polite_destination_rate_delay = 0s # temporisation « tortue » (typiquement pour Yahoo) # (mais également pour les envois en masse en général) turtle_destination_recipient_limit = 2 turtle_destination_concurrency_limit = 1 turtle_destination_rate_delay = 3s # pour ne pas bloquer les envois sur un domaine dès la première erreur # (cf http://www.postfix.org/postconf.5.html) default_destination_concurrency_failed_cohort_limit = 10 # table de transport pour temporiser par destination transport_maps = hash:/etc/postfix/transport # table de transport pour temporiser par expéditeur (pour les listes Mailman) sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
fichier /etc/postfix/master.cf :
# transports dédiés à la temporisation des envois de courriels auf unix - - n - - smtp polite unix - - n - - smtp turtle unix - - n - - smtp
fichier /etc/postfix/transport :
# les envois en interne ne (re)subissent pas les contrôles anti-spams auf.org auf:[smtp.ca.auf.org]:10025 # ralentissements spécifiques pour des domaines un peu pointilleux gmail.com polite: hotmail.com polite: yahoo.com turtle:
fichier /etc/postfix/sender_transport :
# ralentissement par défaut pour tous les envois d'une liste Mailman # (les ralentissements spécifiques, par domaine, auront priorité) test-liste-bounces@auf.org turtle:
Ne pas oublier d'effectuer les commandes suivantes après la configuration :
postmap /etc/postfix/transport postmap /etc/postfix/sender_transport postfix reload
Notes
source d'inspiration : http://steam.io/2013/04/01/postfix-rate-limiting/
- question en suspend : faut-il temporiser pour tous les envois par défaut ?