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 !

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

  1. Bonjour,

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

    a+

  2. 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 🙂

  3. 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 »

    • 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.

  4. 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 !

    • J’ai retrouvé çà dans mes notes :

      #!/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 !

  5. 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.

    • 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 (!??)

  6. 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.

  7. 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

  8. 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)

  9. 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?

    • 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.

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

    • 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.

  11. 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])

  12. Olivier : ça a marché ?
    J’ai tenté de l’appliquer, mais j’ai toujours le même soucis …

  13. j’ai une tablette finetech je nepeux pas envoyer mes e-mail le message est (421 mwinf5d31 ME Trop de connections,veuiilez verifier votre configuration. Too many connectons, solw down OFR304-104 [104]) comment m(en sortir merci pour la réonse

  14. Concrètement on a droit a envoyer combien de mails vers orange par minute sans passer pour un spammeur ?

    Moi j utilise MDaemon, ce n est pas aussi poussé point de vue configuration
    jaimerais connaitre les parametres et si Orange communique l dessus ?

    • Hello,

      J’ai la chance de ne plus gérer de serveurs mails (autre que perso).
      Je ne suis donc plus trop ces problématiques, mais Orange n’a jamais été très prolixe pour les explications de ses limitations et changements de politique.
      La configuration décrite est encore aujourd’hui sur mon serveur de mails et fonctionne toujours… les mails sont juste envoyés plus lentement quand ils sont destinés à Orange/Wanadoo.

      Navré de ne pouvoir te répondre plus précisément.

  15. Bonjour,

    Auriez-vous la même solution mais à mettre en place sur Qmail ?

    (Je possède un serveur dédié chez OVH sans postfix installé mais qmail..)

    Merci beaucoup !

    ++

    • Bonjour,

      Je n’ai pas d’expérience sur Qmail. Par contre des mécanismes similaires doivent exister.
      Désolé de ne pouvoir vous aider plus que cela.

      Jérôme

  16. Bonsoir,
    J’ai le même problème, mais avec Zimbra.
    Je n’arrive pas en revanche à appliquer cette configuration.
    Après pour les domaine Orange et Wanadoo, j’ai : mail transport unavailable
    Une idée ?
    Merci

  17. Bonjour,

    J’ai le même problème, j’envois des mails depuis sfr avec outlook mais orange et wanadoo ne les reçoivent pas.

    Ronan

  18. Super, merci pour la solution, pour info ça fonctionne toujours en 2015 🙂
    Tous mes envois partent bien maintenant vers Orange! Merci.

    • MERCI Jérôme pour la solution, qui fonctionne toujours en 2016 🙂

      L’envoi de messages vers Orange se bloquait au bout de moins de 10 messages. Grâce à cette solution, l’envoi (test) de 400 messages vers Orange se passe sans problème, et les messages sont délivrés au fil de l’eau en moins d’une heure (ce qui est tout à fait acceptable pour une newsletter).

      J’ai rencontré deux pbs mineurs à l’installation, corrigés grâce aux indications de Olivier/Jérôme :
      (1) dans /etc/postfix/main.cf il faut rajouter
      transport_maps = hash:/etc/postfix/transport

      (2) dans /etc/postfix/master.cf il faut avoir un espace au début des lignes
      -o syslog_name=postfix-slow
      -o smtp_destination_concurrency_limit=3
      -o slow_destination_rate_delay=1

      (ou mettre toute la commande sur une seule ligne)

      Version Postfix Mail Server : 2.11.0

Répondre à RONCO Annuler la réponse

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

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.