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 :

envoyer un mail avec phpmailer sans afficher les balises html


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut envoyer un mail avec phpmailer sans afficher les balises html
    Bonsoir,

    comme l'indique le titre, je cherche à envoyer un mail où le body contient des balises html mais au lieu de les afficher, il faudrait qu'elles soient interprétées.
    Voici le code actuel :
    Code php : 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
    18
    19
    20
    21
      ...
    $msg  ="Message envoyé par ".$prenom." ".$nom." né";
      $msg .=" le ".$jour."/".$mois."/".$an.", à ".$lieu.", ".$marie."<br/>";
      if ($type=="pere") $msg.=" avec ".$nbenf." enfant".$s."<br/>";	
      $msg = htmlentities($msg);  
     
    //fin construction msg
    //------------------------
    $mail->CharSet = 'UTF-8';
    $mail->ContentType ='text/html';
     
    $mail->IsHTML(true);
    $mail->Host='smtp.neuf.fr'; 
    $mail->Body  = $msg; 
     
    if(!$mail->Send()) {
      echo 'Message was not sent.';
      echo 'Mailer error: ' . $mail->ErrorInfo;
    } 
      $mail->SmtpClose();
      unset($mail);
    et ce que ça me donne :
    Message envoyé par test_prénom test_nom_pere né le 25/02/2013, à Paris, marié <br/> avec 0 enfant<br/>
    Comment faire pour ces balises soient interprétées ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Remplace la ligne $msg = htmlentities($msg); par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $msg = htmlentities($msg,ENT_NOQUOTES,'UTF-8',false);
    $msg = str_replace(array('&lt;','&gt;'),array('<','>'), $msg);
    $msg = str_replace(array('&amp;lt;','&amp;gt'),array('&lt;','&gt;'), $msg);
    A+.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Merci ; fallait connaître...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Comme j'ai
    Warning: htmlentities() expects at most 3 parameters, 4 given
    , que le 4e paramètre n'a été rajouté qu'en 5.2.3 et que le serveur n'est qu'en 4.4.3, je l'ai retiré : $msg = htmlentities($msg,ENT_NOQUOTES,'UTF-8');. Par contre, pour ça :
    Fatal error: Cannot redeclare class phpmailer in /mnt/113/sda/5/3/olympique.nivernais/scripts_laurents/phpmailer/class.phpmailer.php on line 21
    je n'ai pas d'idée : ligne 20 et 21 : Que puis-je faire ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #5
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    4.4.3 ... il est vraiment temps de mettre à jour le serveur.
    Tu as déjà une classe nommée phpmailer qui est incluse avant inclusion de class.phpmailer.php lors de l'exécution de ton script
    si ce post vous a été utile, si votre problème est résolu.
    Pensez-y !
    __________________________________
    Doc officielle PHP | FAQ PHP | Cours PHP

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Ta réponse est logique ; pour voir, j'ai enlevé le "require" qui doit poser problème.
    Pour le 4.4.3, c'est le serveur d'une personne pour laquelle je travaille et qui est hébergée chez Free...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 367
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Tu as déjà une classe nommée phpmailer qui est incluse avant inclusion de class.phpmailer.php lors de l'exécution de ton script
    Bien que ce soit fort logique, ce message survient uniquement chez mon "client" (pas chez moi ) et sinon, j'ai bien isolé le fichier qui provoque cette erreur, puisque si je le remplace par une page vide, il n'y a rien. Mais dans ce fichier, il y a qu'une seule inclusion de "class.phpmailer.php" et si je la commente, y a quand même l'erreur ; no comprendo...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer un mail avec PHPMailer
    Par Arketran dans le forum Langage
    Réponses: 5
    Dernier message: 23/04/2013, 10h46
  2. envoyé un mail avec java sans java-mail
    Par walidinfo dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 03/11/2010, 14h12
  3. envoyer un mail avec jsp (sans passer par outlook)
    Par tntneo dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 16/04/2009, 21h35
  4. BBCode sans afficher les balises [b], [u], ...
    Par xenos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/12/2007, 19h01
  5. [html] Modifier du texte (sans afficher les balises)
    Par Alexino2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 25/07/2006, 16h43

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