Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

rub
2009-09-07 12:03:31

hpsam a écrit:

Merci Rub

Merci à toi aussi pour avoir mis en évidence le double "to:".

Merci à tous pour vos retours et vos tests!

< fin mode bisounours ;-) >

hpsam
2009-09-07 11:36:45

Bonjour,
J'étais en congés d'où mon absence de retour.
J'ai testé sur la 2.03 c'est OK.
J'ai reporté les modifs sur la 1.7.3 c'est OK.

Test en SMTP et via mail().
Merci Rub

LptG
2009-09-05 17:51:41

Bonjour,
J'avais aussi remarqué depuis peu le doublon, et pas de soucis, la correction fonctionne aussi tout bien chez moi ;-)
Merci !

kurt
2009-08-31 16:12:54

Merci rub, tout à l'air OK !

rub
2009-08-31 14:47:47

kurt avec le correctif, tu n'as plus le soucis?

kurt
2009-08-31 12:45:31

Bonjour,

Je viens de me rendre compte (si cela peux vous aider

Envoi sur mon adresse avec Thunderbird = messages à double

Envoi sur une adresse de test .abcde@gmail.com = 1 seul message reçu

kurt
2009-08-29 17:52:32

Bonjour,

Je viens de tomber sur ce topics, et suis intéressé car j'ai le même problème avec mon site.

rub
2009-08-26 22:21:50

Voila, la correction est remontée [Subversion] r3799
Fichier include/functions_mail.inc.php
Fichier class_smtp_mail.inc.php


Sinon, en effectuant les tests chez moi, dans tous les cas, je n'ai pas le "To:" donc ca dépend aussi du server mail qui va faire les envois.
Moi, j'ai les tests par le smtp de free.

rub
2009-08-26 22:00:04

hpsam a écrit:

Déjà la suppression du get_strict_email_list() dans pwg_mail() fait planter l'envoi SMTP

Ha, je savais que je l'avais pour quelque chose ;-)
Mais, il me semble qu'il aussi le faire pour la fonction mail dans certaines configurations particulières.


Et merci pour avoir faire les tests.

hpsam
2009-08-26 21:10:27

Déjà la suppression du get_strict_email_list() dans pwg_mail() fait planter l'envoi SMTP

Code:

  return
    trigger_event('send_mail',
      false, /* Result */
      trigger_event('send_mail_to', get_strict_email_list($to)),

Si je commente l'ajout du "To:" dans les headers au niveau de pwg_mail() et que je force $to_header = ''; dans la classe smtp_mail je reçois bien les mails en un seul exemplaire mais il n'y a aucun header "To:". On retrouve le destinataire dans le champ "Delivered-To:"

Code:

Return-Path: <webmaster@mail.com>
Delivered-To: user@mail.com
Received: from b0.ovh.net (HELO queue) (213.186.33.50)
  by b0.ovh.net with SMTP; 26 Aug 2009 18:03:30 -0000
Received: from localhost (HELO mail407.ha.ovh.net) (127.0.0.1)
  by localhost with SMTP; 26 Aug 2009 18:03:30 -0000
Received: from b0.ovh.net (HELO queueout) (213.186.33.50)
  by b0.ovh.net with SMTP; 26 Aug 2009 18:03:30 -0000
Received: from ksXXXXX.kimsufi.com (HELO ns0.ovh.net) (user@mail.com@91.121.XXX.XXX)
  by ns0.ovh.net with SMTP; 26 Aug 2009 18:03:28 -0000
Subject: =?iso-8859-1?Q?[PWG_Title]:_Inscription_=E0_la_notification_par_mail?=
From: "PWG Title" <webmaster@mail.com>
Reply-To: "PWG Title" <webmaster@mail.com>
Content-Type: multipart/alternative;
  boundary="---=EiX95T9p6837e6cV8nDIH7aIkDWP1920";
  reply-type=original
MIME-Version: 1.0
X-Mailer: Piwigo Mailer

Si je commente juste l'ajout du "To:" dans les headers au niveau de pwg_mail() il est bien ajouté au niveau de la classe smtp_mail.

Code:

Return-Path: <webmaster@mail.com>
Delivered-To: user@mail.com
Received: from b0.ovh.net (HELO queue) (213.186.33.50)
  by b0.ovh.net with SMTP; 26 Aug 2009 18:53:53 -0000
Received: from localhost (HELO mail427.ha.ovh.net) (127.0.0.1)
  by localhost with SMTP; 26 Aug 2009 18:53:53 -0000
Received: from b0.ovh.net (HELO queueout) (213.186.33.50)
  by b0.ovh.net with SMTP; 26 Aug 2009 18:53:53 -0000
Received: from ksXXXXX.kimsufi.com (HELO ns0.ovh.net) (webmaster@hpsam.info@91.121.161.6)
  by ns0.ovh.net with SMTP; 26 Aug 2009 18:53:52 -0000
Subject: =?iso-8859-1?Q?[PWG_Title]:_Inscription_=E0_la_notification_par_mail?=
To: <user@mail.com>
From: "PWG Title" <webmaster@mail.com>
Reply-To: "PWG Title" <webmaster@mail.com>
Content-Type: multipart/alternative;
  boundary="---=E3nWl3538xOLxJOdGsV9AC96KEDq71vn";
  reply-type=original
MIME-Version: 1.0
X-Mailer: Piwigo Mailer
rub
2009-08-26 17:40:49

hpsam a écrit:

Je viens de tester en configurant le SMTP pour ne pas passer par la fonction mail() de PHP.
Dans ce cas je ne reçois bien qu'un mail dans les entête du quel il y a un seul champ "To:".

Pourtant, on envoie indépendant les commandes "to:" du header.
Ca aurait pu aussi ;-)

hpsam a écrit:

En toute logique PHPienne, l'utilisation de mail() avec le champ "To:" dans les headers supplémentaires contenant le même mail que le 1er paramètre de mail() devrait provoquer 100% de double mails. Mais il est possible que certaines messageries (antispam ?) détecte automatiquement les doublons et n'en garde qu'un.

Ca dépend si ton système prend en compte les 2 lignes ou bien une seule...
Vu qu'il ne devrait y avoir qu'une, la regle à choisir est arbitraire...

En regardant bien, sous gmail, il me met bien 2 destinataires mais un seule.
C'est vraiment, le serveur de mail qui géré ca à sa façon.

hpsam a écrit:

Le plus simple serait peut-être de rajouter un test pour ne pas ajouter le champ "To:" aux headers quand le SMTP n'est pas configuré.

Pas sur, car la on tu as modifie, on ne sait si on est en smtp ou pas.
Mais dans le fichier include/class_smtp_mail.inc.php, je rajoute le "to:" dans le header.

Code:

      if (preg_match('/^\s*to\s*:.*/mi', $headers) === 0)
      {
        $to_header = 'To: '.implode(',', array_map(create_function('$email','return "<".$email.">";'), $recipients));
      }
      else
      {
        $to_header = '';
      }

Tu peux faire un test pour moi?
Sur ta 1.7.3 sans le "to:" dans le header, peux-tu faire en sorte que le  $to_header  soit vide dans tout les cas?
Et faire un test en envoi en smtp...

Mais vu qu'en smtp ca fonctionne sans problème avec le 'to:' avec les header et avec les 'RCPT TO: <', je pense suivre le conseil de hpsam et ne faire la modif que dans l'appel de la fonction mail...

hpsam a écrit:

C'est ouvert dans le tracker : http://piwigo.org/bugs/view.php?id=1145

Merci!

hpsam
2009-08-26 17:24:12

C'est ouvert dans le tracker : http://piwigo.org/bugs/view.php?id=1145

hpsam
2009-08-26 16:55:59

Je viens de tester en configurant le SMTP pour ne pas passer par la fonction mail() de PHP.
Dans ce cas je ne reçois bien qu'un mail dans les entête du quel il y a un seul champ "To:".

rub a écrit:

Après analyse de vos réponses et des mails provenant de différents, le fait d'avoir le mail en double provient de l'entité qui reçoit le mail.

En toute logique PHPienne, l'utilisation de mail() avec le champ "To:" dans les headers supplémentaires contenant le même mail que le 1er paramètre de mail() devrait provoquer 100% de double mails. Mais il est possible que certaines messageries (antispam ?) détecte automatiquement les doublons et n'en garde qu'un.

Le plus simple serait peut-être de rajouter un test pour ne pas ajouter le champ "To:" aux headers quand le SMTP n'est pas configuré.

rub
2009-08-26 15:48:54

hpsam, tu peux ouvrir un bug dans le bugtracker?
http://piwigo.org/bugs/

rub
2009-08-26 15:46:20

Après analyse de vos réponses et des mails provenant de différents, le fait d'avoir le mail en double provient de l'entité qui reçoit le mail.

Par exemple, pour le site de pat01, pat01 les recoit en double alors que moi sous gmail non. Pourtant, ca provient du même site.

Comme l'a souligné hpsam, il y au final (après appel de la fonction mail) 2 "to:" dans le header. Et ca quelque soit la version de php (vérif faite sur plusieurs sites).

ASAP, je commites un correctif qui ne mettra plus les "to:" dans les headers (en envoi par la fonction mail et en  envoi par smtp).
C'est la solution à mon avis la plus sure (par rapport à celle ou l'on doit pas passer le to en argument).

Je vous donnerais les fichiers modifiés pour que vous pussiez faire un test.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact