Mail de confirmation : quelques remarques
Envoyé par: dhorvath ()
Date: jeudi 18 janvier 2007 13:27:58

Bonjour,

Je suis en phase d'intégration de la version 1.3.0 d'OF et je me suis aperçu lors de mes tests que les mails de confirmation étaient envoyés systématiquement 2 fois (en fait 1 fois mais les adresses des destinataires sont doublées), ce qui n'est pas bloquant mais génant.

Après investigation, voiçi un extrait du header des emails envoyés :

To: dominique@lafamillehorvath.com, ne_pas_repondre@ac-rogerjanin.com
Subject: ACRJ. Confirmation d'une annulation de réservation sur Openflyers
From: ne_pas_repondre@ac-rogerjanin.com
To: dominique@lafamillehorvath.com, ne_pas_repondre@ac-rogerjanin.com
Cc:
Date: Thu, 18 Jan 2007 10:08:51 -0000

On s'apperçoit que le champs To est dupliqué.

En fait cela vient de la classe mail.class.php qui place les destinataires dans un tableau Header qui est ajouté au header par la classe Pear parente en plus des destinataires passés en paramètre à la fonction d'envoi.

Voici donc une correction possible pour la fonction send du fichier mail.class.php :

function send($subject,$body)
{
$now = new ofDate();
/*
*** DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH ***
*** On ne met plus les destinataires (To) dans le header puisque c'est
*** la fonction mail->send qui se charge de le faire ‡ partir du 1er
*** paramËtre (si on le faisait, le mail serait envoyÈ 2 fois puisque
*** l'entÍte contiendrait 2 fois le champs To).
*** Par contre il faut le faire pour le champs Cc sinon il n'y a pas
*** de copie possible.
*** Enfin, on n'envoie le mail que s'il y a des destinataires (To)
*/
//$this->headers['To']=$this->recipients;
if (sizeof($this->copyRecipients) > 0) {
$this->headers['CC']=$this->copyRecipients;
}
$this->headers['Subject']=$subject;
$this->headers['Date']=$now->format('%a, %e %b %Y %T -0000');
if (sizeof($this->recipients) > 0) {
return $this->mail->send($this->recipients, $this->headers, $body);
}
else {
return true;
}
}


De plus, dans ce même fichier, il subsiste une erreur sur la fonction addCopyRecipient (en copier-coller qui tue venant de la fonction addRecipient sans doute) et qui empèche l'ajout d'adresses mail en copie (non utilisé dans OF en standard, ce qui doit expliquer la non-détection de ce bug, mais moi je m'en sert dans une modif perso). Voila une corrfection :

function addCopyRecipient($recipient)
{
/*
*** DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH * DH ***
*** Correction d'une erreur dans le code
*/
if (!in_array($copyRecipients,$this->copyRecipients)) {
$this->copyRecipients[]=$recipient;
}
}


Bien évidemment, ces corrections sont apportées sous toutes réserves et sans garantie, mais si ça marche mieux chez-moi, ça doit aussi être le cas chez les autres. J'espère que ça aidera.

Merci pour votre boulot,

Dominique

PS : Pour les fainéants, vous trouverez en PJ le fichier PHP déjà modifié.

Pièces jointes: mail.class.php (5.9 KB)  
Options: RépondreCiter
Re: Mail de confirmation : quelques remarques
Envoyé par: claratte ()
Date: vendredi 19 janvier 2007 05:31:23

Bonjour,

Puisqu'il s'agit de bug, pourriez-vous utiliser le bts ( http://bts.openflyers.org ) pour prise en compte (sinon on va oublier).

Cordialement,

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Mail de confirmation : quelques remarques
Envoyé par: dhorvath ()
Date: vendredi 19 janvier 2007 06:38:07

Bonjour,

Ok je vais faire ça...

Il s'agit surtout d'une correction...

Amicalement,

Dominique

Options: RépondreCiter


Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.
This forum powered by Phorum.