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

Bibliothèques et frameworks PHP Discussion :

[PHPMailer] Problème avec phpmailer


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut [PHPMailer] Problème avec phpmailer
    Bonjour,

    J'aurai besoin que quelqu'un m'éclaire un peu.

    Voila, j'utilise phpmailer pour envoyer par mail, les informations saisies dans mon formulaire. Tout fonctionne nickel.

    Par contre, j'aimerai envoyer des mails différents selon certaines conditions, comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (condtiton1) { 
    $mail->Body='2e message'; 
    $mail->AddAddress(destinataire1@xxx.com'); 
    } 
    if (condition2){ 
    $mail->Body=$'2emessage'; 
    $mail->AddAddress(destinataire2@xxx.com'); 
    } 
     
    $mail->AddAddress(destinataire3@xxx.com'); 
    $mail->Body='MsgPrincipal';
    Je ne sais pas si mon code est assez clair.
    Ce que je voudrai faire, c'est envoyer à chaque validation du formulaire, le 'MsgPrincipal' au destinataire3 et le '2emessage' au 'destinataire2' et 'destinataire3' que si les conditions sont validées. Donc en gros, envoyer des mails différents à différents destinataires.

    J'arrive à envoyer un mail aux 'destinataire2' et 'destinataire3' si les conditions sont bonnes cependant, ce n'est pas le '2emessage' qui est envoyé mais le 'MsgPrincipal'.

    Désolé, j'ai essayé d'être le plus clair possible.
    Est-ce que quelqu'un peut m'aider?

    Merci.

  2. #2
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut
    Utilises les balises CODE

    Sinon tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->Body='MsgPrincipal';
    en dehors de tes conditions, donc normal qu'il te l'envois

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Oui mais ce que je souhaiterai faire, c'est envoyer le 'MsgPrincipal' dans tous les cas,quoi qu'il arrive et envoyer le '2e message' que si la condition1 ou la condition2 est validée.

  4. #4
    Membre actif Avatar de Sebou77
    Inscrit en
    Mars 2006
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2006
    Messages : 212
    Points : 223
    Points
    223
    Par défaut
    En fait tu veux pouvoir ajouter le Message2 au message principale c'est ça ?

    Dans ce cas là ça serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->Body .= 'MsgPrincipal';
    Pour l'ajouter au message déja présent

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par Arkoze
    Donc en gros, envoyer des mails différents à différents destinataires.
    Donc normalement si je me souviens bien de la classe : un mail = un objet mail donc pour chaques mail a envoyer faut creer un objet mail ! lol ce que tu n as pas l'air de faire !

    Pire dans ton code tu change plusieurs fois le body de ton message jusqu a ce qu a la fin tu remette le body d'origine donc ça e peut pas marcher effectivement ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Oui, effectivement, ajoutant un nouveau body, je pensais qu'il allait écraser l'ancien.

    Donc, ce que je dois faire, c'est créer plusieurs objet mail?

    Puis-je le faire sans appeller plusieurs fois la fonction?

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Pour ecrire un email que ce soit sur un client mail software ou un webmail :

    tu crée un nouveau mail , et pour cela tu utilise le bouton 'Ecrire un mail'

    bah phpmailer c est pareil : tu veux ecrire un mail alors tu dois créer un objet 'mail' en utilisant la fonction 'creer un objet mail ' lol
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    ou sinon en bidouillant ton code :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (condtiton1) { 
    $mail->Body='2e message'; 
    $mail->AddAddress("destinataire1@xxx.com"); 
    } 
    if (condition2){ 
    $mail->Body=$'2emessage'; 
    $mail->AddAddress("destinataire2@xxx.com"); 
    } 
    $mail->Send() ; //hop 2ememessage envoyé
    $mail->AddAddress("destinataire3@xxx.com"); 
    $mail->Body='MsgPrincipal';
    $mail->Send() ; //hop MsgPrincipal envoyé

    mais bon un peu chelou comme methode
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    lol ok, j'essayerai tes 2 méthodes.

    Je te tiens au courant.

    Merci pour ton aide en tout cas.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Bon, déjà une bonne chose, j'arrive à envoyer des mail différents à différents destinataires. C'était effectivement pas très compliqué.

    Voici comment j'ai procédé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    if (condtiton1) { 
    $mail->Body='2e message'; 
    $mail->Subject='Sujet';
    $mail->AddBCC('destinaire1@xxx.com');
    $mail->Send();
    } 
    if (condition2){ 
    $mail->Body='2e message'; 
    $mail->Subject='Sujet';
    $mail->AddBCC('destinaire2@xxx.com');
    $mail->Send();
    }   
     
    $mail->Subject='Sujet';
    $mail->AddAddress(destinataire3@xxx.com'); 
    $mail->Body='MsgPrincipal';
    Ce code envoie bien le '2e message' aux 'destinataires1' et 'destinataires2' que si les conditions sont validées et le 'MsgPrincipal' au destinataire3. En revanche, au lieu de recevoir que le '2e message', les destinataires1 et 2 reçoivent le '2e message' ET le 'MsgPrincipal'.

    C'est un peu le bordel

    Je vais essayer de trouver le problème mais c'était pour vous tenir au courant.

  11. #11
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    normal !

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->AddAddress('destinataire3@xxx.com');

    ajoute cette adresse a la liste d'adresse deja existente donc si les condition1 et 2 ont ete validée la liste contient deja les 2 autres adresses d'ou la redondance !

    C'est pourquoi je te conseillais de recreer un mail !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    En faite, en faisant ce que tu m'as proposé, c'est à dire

    RideKicK a dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if (condtiton1) { 
    $mail->Body='2e message'; 
    $mail->AddAddress("destinataire1@xxx.com"); 
    } 
    if (condition2){ 
    $mail->Body=$'2emessage'; 
    $mail->AddAddress("destinataire2@xxx.com"); 
    } 
    $mail->Send() ; //hop 2ememessage envoyé
    $mail->AddAddress("destinataire3@xxx.com"); 
    $mail->Body='MsgPrincipal';
    $mail->Send() ; //hop MsgPrincipal envoyé
    Il envoie aux destinataires1 et 2, le '2eMessage' ET 'MsgPrincipal' et au destinataire3 uniquement le 'MsgPrincipal'

    Mais je ne vois pas comment recréer le mail

Discussions similaires

  1. Problème avec phpmailer boucle
    Par tidou95220 dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2011, 18h10
  2. problême avec PHPmailer
    Par sly_prod dans le forum Langage
    Réponses: 4
    Dernier message: 14/12/2009, 23h02
  3. Problème avec PHPMAILER
    Par GeantBioHazard dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2008, 10h36
  4. [PHPMailer] Problème avec la librairie phpmailer : le mail ne part pas
    Par coco38 dans le forum Bibliothèques et frameworks
    Réponses: 24
    Dernier message: 25/05/2007, 17h52
  5. [PHPMailer] problème avec la classe phpmailer
    Par sansouna24 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/04/2006, 16h51

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