Skip to content

Orange/Wanadoo et « Too many connections, slow down. OFR004_104 [104]) »

Depuis le 17 décembre environ, Orange a modifié (une fois de plus) le fonctionnement de ses serveurs de mail.
Cette fois la conséquence est la suivante : très rapidement lors d’un mailing les serveurs d’Orange refusent les mails avec le message suivant :

Dec 20 12:32:33 ns303007 postfix/smtp[6102]: B454432E76: to=, relay=smtp.wanadoo.fr[80.12.242.82]:25, delay=23, delays=0.02/0/23/0, dsn=4.0.0, status=deferred (host smtp.wanadoo.fr[80.12.242.82] refused to talk to me: 421 mwinf5c30 ME Trop de connexions, veuillez verifier votre configuration. Too many connections, slow down. OFR004_104 [104])


La file des messages se rempli alors très rapidement pour monter facilement à plusieurs dizaine de milliers de mails en attente d’envoi et surtout totalement bloqués !

Autre souci les mails sont en status deferred, et seront donc supprimé de la file dans un délai de 5 jours par défaut (voir la configuration de maximal_queue_lifetime). C’est insuffisant pour laisser s’écouler les mails en attente !

Pour les serveurs de mail que je gère j’ai « bidouillé » un script pour vider manuellement la queue pour les mails destinés à Orange/Wanadoo afin que les personnes aient leur mail au plus tôt !
Mais il fallait trouver une solution plus durable…

J’en ai mise une en place, elle n’est pas parfaite mais elle a permis de gérer et de délivrer les mailings de ces fêtes de fin d’année en temps et en heure !

Détails de la solution : transport spécifique pour orange/wanadoo

/etc/postfix/transport


wanadoo.com slow:
wanadoo.fr slow:
orange.com slow:
orange.fr slow:

puis postmap /etc/postfix/transport

dans /etc/postfix/master.cf


#==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
#==========================================================================
slow unix - - n - 5 smtp
-o syslog_name=postfix-slow
-o smtp_destination_concurrency_limit=3
-o slow_destination_rate_delay=1

dans /etc/postfix/main.cf


slow_destination_recipient_limit = 20
slow_destination_concurrency_limit = 2

et finalement : /etc/init.d/postfix reload

Les mails se stockent tout de même en queue, mais la file se vide ensuite relativement rapidement !

Autres articles :

  1. Orange et blocage du port 25 (smtp) pour éviter les serveurs de mails zombie Comme on peut le remarquer depuis le début de l’été,...
  2. Postfix – Amavis – Clamav Quelques liens +/- utiles pour l’installation, la configuration et la...
  3. … et vous n’aviez pas vu l’orange ! Il est pas joli ce mur en « Orange Vitamine...

26 Comments

  1. Jéjé

    Bonjour,

    Bonne solution. On a adopté la même, on a juste pu monté le destination_concurrency_limit au max accepté : 10

    a+

    Posted on 05-jan-11 at 10:10 | Permalink
  2. Arnaud Bienvenu

    Excellente solution, ça marche impeccablement.

    Merci beaucoup!

    Posted on 03-fév-11 at 16:39 | Permalink
  3. Superbe !! merci je l’ai même rajouté dans le produit Artica
    voir le PDF
    http://postfix-admin.org/download/artica-domain-throttling.pdf

    Posted on 05-fév-11 at 11:43 | Permalink
  4. Thomas

    Bonjour, après avoir suivi votre doc, postfix m’indique une erreur :

    postfix/master[13245]: fatal: /etc/postfix/master.cf: line 121: bad transport type: syslog_name=postfix

    Version de postfix : 2.7.0

    Merci d’avance :)

    Posted on 12-fév-11 at 10:10 | Permalink
  5. Une fois que tout est fait, combien de temps ça prendra environ pour dépiler les mails de la queue ?
    J’ai pas l’impression que ça ait déjà commencé… :(

    @Thomas > J’avais la même erreur, c’était parce que je n’avais pas mis d’espaces devant les « -o »

    Posted on 14-fév-11 at 13:53 | Permalink
  6. Pour que les mails actuellement en queue et n’ayant pas bénéficier de ce transport à leur envoi, je crois qu’il faut les « réinjecter » dans la queue à l’aide de postqueue -f.
    Pour les suivants − qui eux bénéficieront directement du nouveau transport − l’envoi sera régulier et se fait dans la foulée, mais tout de même avec un petite temps d’attente : mais rien de dramatique dans le cas d’un mailing.
    C’est sans doute plus gênant s’il s’agit de mail qui permette de poursuivre une action : réenvoi de mot de passe, … mais de mon côté le problème ne s’est jamais plus posé depuis que j’ai mis ce transport en place (600 000 mails envoyés dont une proportion non négligeable chez orange/wanadoo.

    Posted on 15-fév-11 at 00:46 | Permalink
  7. Merci pour l’info !
    Chez moi, pas de changement au niveau d’Orange, les mails sont toujours refusés. :’(

    Tu parlais en début d’article d’un script, ce serait possible de le voir ?

    Merci !

    Posted on 15-fév-11 at 13:47 | Permalink
  8. J’ai retrouvé çà dans mes notes :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    
    #!/usr/bin/perl -w
     
    use strict;
     
    use Time::HiRes;
     
    my $LISTQ = "/usr/sbin/postqueue -p";
    my $POSTSUPER = "/usr/sbin/postsuper";
    my $POSTSEND = "/usr/sbin/postqueue";
     
    my $email_addr = "";
    my $qid = "";
    my $euid = $>;
     
    if ( @ARGV !=  1 ) {
    	die "Usage: too_many_purge.pl\n";
    } else {
    	$email_addr = $ARGV[0];
    }
     
    if ( $euid != 0 ) {
            die "You must be root.\n";
    }
     
     
    open(QUEUE, "$LISTQ |") || 
      die "Can't get pipe to $LISTQ: $!\n";
     
    my $entry = ;	# skip single header line
    $/ = "";		# Rest of queue entries print on
    			# multiple lines.
    while ( $entry =  ) {
    	if ( $entry =~ / $email_addr$/m ) {
    		($qid) = split(/\s+/, $entry, 2);
    		$qid =~ s/[\*\!]//;
    		next unless ($qid);
    		print $qid . "\n";
     
    		if ( system($POSTSEND, "-i", $qid) != 0 ) {
    			die "Error executing $POSTSEND: error " . "code " .  ($?/256) . "\n";
    		}
    		Time::HiRes::sleep(1); #.1 seconds
    	}
    }
    close(QUEUE);
     
    exit 0;

    A tester avant de lancer aveuglément !

    Posted on 15-fév-11 at 22:13 | Permalink
  9. Cela ne fonctionne pas en l’état avec postfix 2.7.0-1.

    Il manque :

    (1) dans /etc/postfix/main.cf

    transport_maps = hash:/etc/postfix/transport

    (2) l’écriture correcte de la ligne dans /etc/postfix/master.cf doit
    être *SUR UNE LIGNE*. En effet, il semblerait que les retours à la lignes ne soient pas corrects.

    slow unix – - n – 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1

    Maintenant, tout fonctionne parfaitement, les mails sont bien délivrés à nos amis de chez Wanadoo/orange.

    Si cela peut aide !

    À bientôt – Olivier.

    Posted on 16-fév-11 at 15:00 | Permalink
  10. Pour le 1er point effectivement je n’ai mis que ce qui était ajouté à ma config déjà existante, j’avais déjà des choses dans le fichier avant.

    Pour le format du fichier master.cf se reporter à la doc ( man 5 master ):

    A logical line starts with non-whitespace text. A line that starts with whitespace continues a logiical line.

    Il semblerait qu’il faille au moins un espace pour que la ligne soit considérée comme la suivante de la sa précédente (!??)

    Posted on 16-fév-11 at 19:54 | Permalink
  11. Merci de partager cette solution ! et pas merci à orange

    Posted on 24-mar-11 at 10:45 | Permalink
  12. Laurent.L

    Bonjour,

    J’ai le même problème avec les émails vers Wanadoo et Orange, je dois avoir environs 3-4000mails en attente tous les jours, je suis persuadé qu’il y a des emails qui ne partent pas :s

    J’ai vu votre solution, j’aurais une question à vous poser, dois-je juste rajouter les commandes dans mes fichiers transports, main et master déjà existant ou pas?? Je rajoute ses lignes à la fin de mes fichiers??

    Je vous remercie pour votre aide, j’espère que cela va fonctionner, en tout cas ils font vraiment de la merde Orange :s

    Merci.
    Laurent.

    Posted on 09-juin-11 at 15:11 | Permalink
  13. Oui bien sûr il suffit de compléter vos fichiers déjà existant, et relancer le bouzin…

    Posted on 09-juin-11 at 23:12 | Permalink
  14. YvesTan

    Merci. C’est nickel comme configuration ;)

    Posted on 06-oct-11 at 11:14 | Permalink
  15. Bonjour et merci.
    Super astuce … Cela me permettra de moins remplir les logs ;-)

    Nicolas

    Posted on 11-oct-11 at 20:34 | Permalink
  16. Anybug

    un grand merci pour cette astuce!
    sous postfix 2.7.1, olivier a raison:
    - dans /etc/postfix/main.cf il faut ajouter transport_maps = hash:/etc/postfix/transport, sans pbl via webmin de mon côté
    - la ligne dans /etc/postfix/master.cf doit être *SUR UNE LIGNE*

    encore merci ça marche nikel

    Posted on 25-oct-11 at 12:17 | Permalink
  17. Merci pour le résumé, ça évite de chercher des plombes les bons paramètres dans la multitude de paramètres postfix :)

    Je confirme pour les -o de master.cf, il suffit de commencer par un/des espace(s). Pas une tabulation par contre.

    J’ai adapté pour une conf où beaucoup de paramètres sont en base mysql, je relayerai votre article, modifié dans ce contexte, sur mon blog (dès que j’ai un moment). Ok ?
    + quelques compléments (surveillance de la file postqueue dans Nagios)

    Posted on 23-nov-11 at 09:28 | Permalink
  18. Pas de soucis pour le complément d’info… bien au contraire !
    En attente de vous lire !

    Posted on 23-nov-11 at 21:22 | Permalink
  19. Jerome

    Merci pour ces infos précieuses. Pouvez-vous expliquer le choix des valeurs pour chaque variable :
    smtp_destination_concurrency_limit=3, slow_destination_rate_delay=1, slow_destination_recipient_limit = 20 et slow_destination_concurrency_limit = 2 ?
    J’ai lu quelque part que les serveurs MX d’Orange n’acceptent que 3 connections simultanées à répartir sur les domaines orange et wanadoo (2+1 par ex). Est-ce que votre paramétrage ne risque pas de laisser dépasser cette limite?

    Posted on 27-nov-11 at 13:00 | Permalink
  20. Didier

    Bonjour,

    En mettant les destinataires en CC cela fonctionne sans paramétrage particulier.

    Posted on 09-déc-11 at 14:46 | Permalink
  21. Dans l’article il est question d’envoyer des centaines, voir des milliers de mails dans l’heure vers orange/wanadoo !
    Hors de question de les mettre en CC… Méthode qui présentera de toute façon les mêmes soucis à l’envoi.

    Posted on 11-déc-11 at 11:49 | Permalink
  22. jmax

    je viens d’avoir le soucis: la procédure magique expliquée dans ce mail et tout refonctionne comme par magie.
    merci beaucoup

    Posted on 13-déc-11 at 10:43 | Permalink
  23. Bonjour,

    merci pour ces infos TRES utiles. cela nous permet de pouvoir enfin spammer en toute tranquilité ;)

    Posted on 11-jan-12 at 15:38 | Permalink
  24. Merci pour cette technique qui fonctionne parfaitement bien.
    Tu y es allé à taton pour découvrir les limites d’orange ?

    Posted on 16-jan-12 at 14:54 | Permalink
  25. Je t’avoue qu’un an plus tard je en sais plus d’où je sors exactement les valeurs, mais elles suffisent à mon besoin et je n’ai pas eu à y revenir depuis.

    Posted on 16-jan-12 at 19:58 | Permalink
  26. Olivier

    depuis, peu, les mails vers laposte.net sont bloqué pour moi. Trop de membre qui possèdent une adresse laposte.net ?
    Je tente cette solution qui avait marché pour wanadoo et orange.

    host smtp4.laposte.net[193.251.214.113] refused to talk to me: 421 mwinf8508 ME Trop de connexions, veuillez verifier votre configuration. Too many connections, slow down. LPN007_104 [104])

    Posted on 14-avr-12 at 18:47 | Permalink

2 Trackbacks/Pingbacks

  1. [...] viaOrange/Wanadoo et « Too many connections, slow down. OFR004_104 [104]) » | Zapoyok. Posted by PJ Michel at 14:46 Tagged with: postfix, queue Coordonnées Kogitae AE Administrateur Système Linux / Chef de projet informatique Michel Pierre-Jacques 23 rue de la cornée 70800 Anjeux [...]

  2. [...] http://www.zapoyok.info/2011/01/01/orangewanadoo-et-%C2%AB-too-many-connections-slow-down-ofr004_104… [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*