Annonce

#61 2009-08-26 15:46:20

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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.

Hors ligne

#62 2009-08-26 15:48:54

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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

Hors ligne

#63 2009-08-26 16:55:59

hpsam
Membre
Gap
2005-06-28
111

Re: [Résolu] Double mail

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

Hors ligne

#64 2009-08-26 17:24:12

hpsam
Membre
Gap
2005-06-28
111

Re: [Résolu] Double mail

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

Hors ligne

#65 2009-08-26 17:40:49

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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!

Hors ligne

#66 2009-08-26 21:10:27

hpsam
Membre
Gap
2005-06-28
111

Re: [Résolu] Double mail

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

Hors ligne

#67 2009-08-26 22:00:04

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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.

Hors ligne

#68 2009-08-26 22:21:50

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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.

Hors ligne

#69 2009-08-29 17:52:32

kurt
Membre
Lausanne
2009-06-25
309

Re: [Résolu] Double mail

Bonjour,

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

Hors ligne

#70 2009-08-31 12:45:31

kurt
Membre
Lausanne
2009-06-25
309

Re: [Résolu] Double mail

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

Hors ligne

#71 2009-08-31 14:47:47

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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

Hors ligne

#72 2009-08-31 16:12:54

kurt
Membre
Lausanne
2009-06-25
309

Re: [Résolu] Double mail

Merci rub, tout à l'air OK !

Dernière modification par kurt (2009-08-31 16:13:08)

Hors ligne

#73 2009-09-05 17:51:41

LptG
Membre
2009-09-05
3

Re: [Résolu] Double mail

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

Dernière modification par LptG (2009-09-05 17:52:18)

Hors ligne

#74 2009-09-07 11:36:45

hpsam
Membre
Gap
2005-06-28
111

Re: [Résolu] Double mail

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

Hors ligne

#75 2009-09-07 12:03:31

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [Résolu] Double mail

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 ;-) >

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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