Annonce

#1 2006-03-10 05:55:06

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : Le mystère des envois en double enfin résolu

J'ai trouvé le bug en relisant une énième fois le code du fichier class.mailer.php.

En gros, dans certains cas de configuration restrictive de PHP, l'email envoyé se trouve avoir deux fois le même en-tête To (contient la liste des adresses email des destinataires).
Alors, pour peu que le programme d'envoi des emails présent sur le serveur ne soit pas très regardant sur le contenu du bloc d'en-têtes de l'email, parse sans sourciller les deux en-têtes To et ne supprime pas les doublons… paf, on se retrouve avec chaque email en double dans la file d'envoi.

Bref, si vous avez rencontré ce problème, et pour le corriger (notamment si vous utilisez wanewsletter 2.2.10 ou inférieur), éditez le fichier class.mailer.php (dans le répertoire includes/ pour wanewsletter) et trouvez vers la ligne 2130:

if( $this->fix_bug_mail == 0 )
{
    $this->headers['To'] = $address;
}

Remplacez par:

if( $this->fix_bug_mail == 0 )
{
    $this->headers['To'] = '';
}

Le paquet Wamailer 2.4 a été modifié pour tenir compte de cette correction de dernière minute.

Attention, ce bug n'explique pas tous les cas de réception de lettre en plusieurs exemplaires avec wanewsletter.
D'autres explications ont été trouvées mais sans confirmation (même si ça semble toutefois réaliste) :
http://forum.webnaute.net/viewtopic.php?id=3418

Un système de "sécurisation" des envois est en place dans Wanewsletter 2.3 et devrait résoudre les problèmes de doublons après une reprise d'envoi consécutive à un plantage  ou dans le cas des proxy rappellant à intervalle régulière le script d'envoi.


PHP et MySQL, un duo gagnant !

Hors ligne

Pied de page des forums