hpams
Bonjour,
Comment fait tu pour visualiser l' entête des mails.
Utilise tu Notepad ++ ?
J' avoue ne pas bien comprendre tout ton post !
Sinon le problème ne pourrait'il pas venir du FAI.
Chez moi les doubles mails arrivent avec 9 h d' écart.
C'est incompréhensible.
Pat01
Dernière modification par pat01 (2009-08-21 16:36:25)
Hors ligne
Quel est ton hébergeur hpsam ?
Hors ligne
@Pat1:
- Pour l'entête des mails : "Affichage> Code source du message" dans Thunderbird,
- Chez moi les doubles mails arrivent en même temps.
@Gotcha:
- Serveur dédié chez OVH dont je suis l'administrateur.
Hors ligne
Regardes un peu de ton coté avec un phpinfo si ça coïncide avec ça: [Forum, post 118059 by Gotcha in topic 16002] Double mail
Dernière modification par Gotcha (2009-08-21 21:45:15)
Hors ligne
Hello,
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
Mais cela n'a pas d'impact sur le champ "To:".
Pour moi le problème viens du fait que l'on passe dans la fonction pwg_mail() qui ajoute un champ "To:" aux headers.
Ensuite on passe dans la fonction pwg_send_mail() qui utilise la fonction mail() de PHP dont le premier argument est aussi le destinataire.
Si je remplace le return mail(...); par un echo "mail(...)"; dans la fonction pwg_send_mail() pour voir ce qui passe on le voit bien :
mail(usermail@test.info, =?iso-8859-1?Q?[Sylvain_:_Sorties_entre_ami(e)s]:_Inscription_=E0_la_notification_par_mail?=, -----=o58o1CygJ5sP790pV1l436DEAT74aoQC Content-Type: text/html; charset=iso-8859-1; Content-Transfer-Encoding: 8bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ...tout le html du message... </body> </html> -----=o58o1CygJ5sP790pV1l436DEAT74aoQC-- , From: "Sylvain : Sorties entre ami(e)s" <webmaster@test.info> Reply-To: "Sylvain : Sorties entre ami(e)s" <webmaster@test.info> To: "test" <usermail@test.info> Content-Type: multipart/alternative; boundary="---=o58o1CygJ5sP790pV1l436DEAT74aoQC"; reply-type=original MIME-Version: 1.0 X-Mailer: Piwigo Mailer )
On a le destinataire en mail brut comme premier argument de mail() et le destinataire au format "pseudo <mail@>" dans les Headers => Double "To:" => Double mail.
Après pour savoir si ce sont les headers qui ne sont pas bon ou le premier param de mail() cela dépend de la logique des développeurs de PWG/Piwigo, et je les laisse trancher.
@+
Hors ligne
Là je laisse une personne de l'équipe s'occuper de ça. C'est en dehors de mes compétences... :-(
Hors ligne
Juste une petite réflection!
Si le problème venait du code, pourquoi sommes nous seulement 2 à avoir ce souci ?
Hors ligne
Il y a parfois plusieurs sources à un problèmes et il faut certainement l'entrée en jeux de plusieurs facteurs pour reproduire cet effet.
Hors ligne
J'ai fait des tests avec pat01 et je n'ai pas recu de mail en double...
Alors, soit c'est le sendmail du provider qui déconne un peu en ce moment, soit c'est une incompatibilité avec serveur mail particulier.
Les mails en double étaient toujours à destinations d'une adresse mail@orange.fr?
Hors ligne
Salut,
Je n'ai pas d'inscrit avec un mail chez Orange, par contre sur du @hpsam.info et @laposte.net cela arrive en double.
Et comme je l'ai mis plus haut le champ "To:" est mis en double dans les entêtes du mail par PWG.
Avec les modifications suivantes de include/function_mail.inc.php je n'ai plus de soucis.
1/ Suppression de l'entête "To:" ajouté aux headers :
Remplacer :
if (empty($to)) { $headers.= 'To: undisclosed-recipients: ;'."\n"; } else { $headers.= 'To: '.$to."\n"; }
par
if (empty($to)) { $to = 'undisclosed-recipients: ;'; }
2/ On garde le format 'pseudo <mail>' dans le champ "To:" :
Remplacer
return trigger_event('send_mail', false, /* Result */ trigger_event('send_mail_to', get_strict_email_list($to)),
par
return trigger_event('send_mail', false, /* Result */ trigger_event('send_mail_to', $to),
Hors ligne
hpsam a écrit:
Et comme je l'ai mis plus haut le champ "To:" est mis en double dans les entêtes du mail par PWG.
C'est pas en double dans les entetes, c'est juste présent dans l'entete et dans en paramètre de la fonction mail.
Mais normalement, ca ne devrait pas poser de soucis.
Par contre, car tu recevais en double, tu as regardé le source du mail au final? Pour vois ce que le sendmail avait trafiqué?
Tu utilises quelle version de php?
Tu es en 1.7 dommage que tu ne sois pas en 2.0, c'est plus simple pour débogger par la suite.
Ca arrivait en double quelque soit le destinataire? Avec quelle action exactement (notification, modif de commentaire).
hpsam a écrit:
Avec les modifications suivantes de include/function_mail.inc.php je n'ai plus de soucis.
pat01, même si c'est pour du 1.7, tu peux essayer cette modif sur du 2.0 et voir si ca corrige le bug.
Par contre moi, à partit de ton site, je n'ai rien recu en double, commentaire.
Hors ligne
hpsam a écrit:
2/ On garde le format 'pseudo <mail>' dans le champ "To:" :
RemplacerCode:
return trigger_event('send_mail', false, /* Result */ trigger_event('send_mail_to', get_strict_email_list($to)),par
Code:
return trigger_event('send_mail', false, /* Result */ trigger_event('send_mail_to', $to),
C'est absolument nécessaire?
Hors ligne
Comment faire pour modifier le fichier:
include/function_mail.inc.php
Depuis le LocalFile Editor je n' y est pas accès.
Faut'il le télécharger puis copier le code modifié dans le:
config_local.inc.php
Je ne voudrais pas faire la manip sur l' original.
Hors ligne
rub a écrit:
C'est pas en double dans les entetes, c'est juste présent dans l'entete et dans en paramètre de la fonction mail.
Mais normalement, ca ne devrait pas poser de soucis.
Par contre, car tu recevais en double, tu as regardé le source du mail au final? Pour vois ce que le sendmail avait trafiqué?
Tu utilises quelle version de php?
C'est en double dans les entêtes à l'arrivé. Ce qui est logique car la fonction mail() de PHP rempli le "To:" avec son premier paramètre puis ajoute les entête complémentaires. Si il y a un deuxième "To:" ils s'additionnent donc double mail.
L'entête du mail reçu et version de php sont dans le message 45
rub a écrit:
Ca arrivait en double quelque soit le destinataire? Avec quelle action exactement (notification, modif de commentaire).
Quelque soit le destinataire sur inscription / désinscription Notification et sur l'envoi des notifications de nouveautés. Le reste je n'utilise pas.
rub a écrit:
C'est absolument nécessaire?
La deuxième modif n'est pas absolument nécessaire, elle permet juste de garder le format "pseudo <@mail>" des destinataires.
rub a écrit:
Tu es en 1.7 dommage que tu ne sois pas en 2.0, c'est plus simple pour débogger par la suite.
Pour ce qui est de la 2.0, je viens d'installer une 2.0.3 vierge pour tests. J'ai inscrit mon compte pour les notifications et j'ai reçu le mail en double. J'ai créé 2 autres comptes avec un mail @laposte.net et @free.fr même résultat, les mails en double.
Date: 26 Aug 2009 11:23:28 -0000 Message-ID: <20090826112328.18060.qmail@ks--------.kimsufi.com> To: XXXXXX@free.fr Subject: =?utf-8?Q?[Piwigo_demonstration_site]:_Inscription_=C3=A0_la_notification_par_mail?= From: "Piwigo demonstration site" <YYYYYYYYY@hpsam.info> Reply-To: "Piwigo demonstration site" <YYYYYYYYY@hpsam.info> To: "test2" <XXXXXX@free.fr> Content-Type: multipart/alternative; boundary="---=nSXZEq9uyAGJ1AK59U97mWs1NgIatje5"; reply-type=original MIME-Version: 1.0 X-Mailer: Piwigo Mailer
pat01 a écrit:
Comment faire pour modifier le fichier:
include/function_mail.inc.php
Via FTP tu dupliques le fichier pour garder l'original (=> include/function_mail.inc.php.ori) puis tu édites include/function_mail.inc.php avec un éditeur de texte basique genre notepad de Windows.
Hors ligne
hpsam a écrit:
rub a écrit:
C'est pas en double dans les entetes, c'est juste présent dans l'entete et dans en paramètre de la fonction mail.
Mais normalement, ca ne devrait pas poser de soucis.
Par contre, car tu recevais en double, tu as regardé le source du mail au final? Pour vois ce que le sendmail avait trafiqué?
Tu utilises quelle version de php?C'est en double dans les entêtes à l'arrivé. Ce qui est logique car la fonction mail() de PHP rempli le "To:" avec son premier paramètre puis ajoute les entête complémentaires. Si il y a un deuxième "To:" ils s'additionnent donc double mail.
Je ne suis pas d'accord avec toi.
On passe un argument à une fonction mail.
Après c'est à elle de bien gérer...
Moi, je dirais plutot que d'ajouter, elle devrait remplacer. Voir ajouter si pas présent.
Quelle version de php, as-tu?
Chez quel hébergeur es-tu?
Sachant que le problème ne posent que pour certaines configs... généralement, on n'a pas de double mails.
hpsam a écrit:
L'entête du mail reçu et version de php sont dans le message 45
Ha oui, j'avais pas vu.
hpsam a écrit:
rub a écrit:
Ca arrivait en double quelque soit le destinataire? Avec quelle action exactement (notification, modif de commentaire).
Quelque soit le destinataire sur inscription / désinscription Notification et sur l'envoi des notifications de nouveautés. Le reste je n'utilise pas.
rub a écrit:
C'est absolument nécessaire?
La deuxième modif n'est pas absolument nécessaire, elle permet juste de garder le format "pseudo <@mail>" des destinataires.
Il me semble avoir du le faire car sur d'autres configs, il pouvait y avoir des soucis.
hpsam a écrit:
Pour ce qui est de la 2.0, je viens d'installer une 2.0.3 vierge pour tests.
Tu pourras comme ca tester la version qui sera commitée pour la 2.0.
Mais si je rétire le $to du header, il faut que je vois les implications avec l'envoi en smtp.
D'ailleurs, tu n'es pas configuré en smtp?
Hors ligne