IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Envoi en double exemplaire


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Points : 130
    Points
    130
    Par défaut [Mail] Envoi en double exemplaire
    Bonjour à tous et merci de me lire,

    J'utilise la fonction mail dans un site pour envoyer un récap de commande au client. J'utilise les headers pour mettre un peu de monde en copie cachée et également pour mettre un expéditeur de mon choix en "From:".
    Le mail s'envoie correctement mais systématiquement en double (même heure, mêmes entêtes, même contenu).

    J'ai vérifié que la fonction n'est appelée qu'une seule fois, c'est le cas (pas dans une boucle, pas un mauvais copier-coller qui trainerait...)
    J'ai vérifié que je n'ai pas de "To:" dans mes headers, c'est le cas (j'ai lu sur des forums que ça pouvait être la cause car le mail s'envoie au destinataire indiqué dans la fonction mail et utilise également le destinataire du header).

    PHP5, Apache2, ... A votre dispo si besoin d'infos... Moi, je sèche complet !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    donne nous le code en question car sinon on pourra pas t'aider

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        ob_start() ;
        if($_SESSION['modePaiement'] == 'cheque')
          include('mailCheque.php') ;
        else if($_SESSION['modePaiement'] == 'paypal')
          include('mailPaypal.php') ;
        $contenuMail .= ob_get_contents() ;
        ob_end_clean() ;
     
        $header = "Content-type: text/html; charset=iso-8859-1\n" ;
        $header .= "From: contact@domaine.com\n" ;
        $header .= "BCC: contact@domaine.com, test@domaine.com\n" ;
     
        mail($_SESSION['client']['email'],"Confirmation de commande",$contenuMail,$header) ;
    mailCheque.php et mailPaypal.php sont des fichiers dans lesquels se trouve le contenu du mail. Je ne vous les mets pas ici, ça serait trop lourd et le problème ne peut pas venir de là. Ca ne concerne ni les entêtes, ni l'envoi du mail mais seulement son contenu. Il n'y a d'ailleurs aucune adresse e-mail dans ces fichiers.

    $_SESSION['client']['email'] a été vérifié et retourne uniquement l'adresse e-mail renseigné par le client.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    je ne vois pas l' utilité des fonctions ob_get_contents() ;
    ob_end_clean() ;

    ceci dit je ne les connais pas non plus . je supposes par exemple que dans tes deux fichiers appelés par include ont une variable appelée $contenumail ? si oui, alors dans ce cas essaie d'effacer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $contenuMail .= ob_get_contents() ;
        ob_end_clean() ;

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    La fonction ob_get_contents() contient le contenu de la bufferisation commencée par ob_start(). Donc ces fonctions sont très bien là où elles sont.

    Cela dit on aurait pu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $contenuMail .= ob_get_clean() ;
    et se passer de ce fait de ob_end_clean().

    La question que je me pose, c'est :
    Est-ce que tu reçois deux mails avec le même contenu ou est-ce que tu reçois un mail avec le contenu en double ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 162
    Points : 130
    Points
    130
    Par défaut
    Waou ! 1 an après ça vous va comme réponse ?

    En fait, je recevais 2 mails avec le même contenu.
    Le problème a semble-t-il disparu de lui-même... Il s'est en tout cas raréfié...
    Mais le mystère reste intact !

Discussions similaires

  1. [AC-2003] Envoie d'un mail via un double-clic dans une zone de liste
    Par voyel dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/06/2011, 13h45
  2. [Mail] problème de double envoi de mail
    Par PAYASS59 dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2007, 18h16
  3. [Mail] Envoi de mail en double
    Par manu_71 dans le forum Langage
    Réponses: 2
    Dernier message: 31/07/2007, 16h59
  4. [Mail] envoi d'email double
    Par mmz dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2007, 23h56
  5. [Mail] phpmailer et envoi en double
    Par sam01 dans le forum Langage
    Réponses: 1
    Dernier message: 19/11/2006, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo