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 :

[PEAR] Envoi d'e-mail au format html


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 121
    Points : 64
    Points
    64
    Par défaut [PEAR] Envoi d'e-mail au format html
    Bonjour à tous,

    Je ne sais pas si je suis au bon forum mais voici mon problème :
    Je un script PHP qui va envoyer un mail. Quand j'envoie le mail au format text l'envoie se passe sans problème, mais quand j'envoie le mail au format HTML j'obtient un message d'erreur qui dit : "envoi de l'email raté car $headers must be an array".
    J'utilise mon propre serveur de messagerie qui fonctionne sans problème.
    J'ai installé, sur ce serveur, la classe PEAR et la classe MAIL.
    Au niveau de mon fichier PHP.INI j'ai activé le paramètre safe_mode.
    Le script que j'utilise est le suivant :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    require_once 'Mail.php';
    $sujet = 'Sujet de l\'email';
    $message = "Bonjour,<br />
    <strong>Ceci est un message html envoyé grâce à php.</strong><br />
    merci :)";
    $destinataire = 'user@domaine.fr';
    $headers = "From: user1@mondomaine.fr\n";
    $headers .= "Reply-To: user@domaine.fr\n";
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
     
    $params["host"] = "Mon SMTP";
    $params["port"] = "25";
    $params["auth"] = true;
    $params["username"] = "Nom d'utilisateur";
    $params["password"] = "Mot de Passe";
     
    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('smtp', $params); 
    if (PEAR::isError($mail_object))
    {
      print "<p>construction de l'objet 'Mail' ratée car ";
      die($mail_object->getMessage()); 
    } 
    else
    {
      print "<p>objet 'Mail'  construit !";
    }
     
    $send_result = $mail_object->send($destinataire,$sujet,$message,$headers); 
    if (PEAR::isError($send_result))
    {
      print "<p>envoi de l'email raté car ";
      die($send_result->getMessage()); 
    } 
    else
    {
      print "<p>envoyé !";
    }
    ?>
    Quand je n'utilise pas les 2 lignes suivantes :

    $headers .= "Reply-To: user@domaine.fr\n";
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";

    le mail part sans problème, mais il n'est pas au format HTML.

    Merci de votre aide.
    Dimitri.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Revoit la documentation sur la gestion des en-têtes :
    http://pear.php.net/manual/en/packag....mail.send.php

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Bonjour Sabotage,

    Merci pour votre réponse.
    Effectivement j'ai régardé la documentation sur les en-têtes et j'ai trouvé ou était l'erreur. Ca fonctionne, donc, sans problème.
    Merci encore une fois.

    Dimitri.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par dimitri13 Voir le message
    Bonjour Sabotage,

    Merci pour votre réponse.
    Effectivement j'ai régardé la documentation sur les en-têtes et j'ai trouvé ou était l'erreur. Ca fonctionne, donc, sans problème.
    Merci encore une fois.

    Dimitri.
    Dans l'absolu cela aurait été cool que tu expliques comment tu avais résolu ton pb ... Un simple "c'est bon j'ai trouvé ..." n'aide pas grandement ...

    Vu que j'ai eu le même pb de "envoi de l'email raté car $headers must be an array"" et que le lien sur la gestion des en-tête est H.S ,voici quelques pistes pour ceux qui rencontreront ce problème:

    1- le format pour déclarer les headers est $headers ["letypeheaders(ex: "to","content-type","MIME-Version" etc...)"] =" le contenu du header (ex:"text/html", "1.0"...)...
    2- ne surtout pas coller de . sur chaque headers , pour résumer la déclaration de vos headers doit ressembler à cela :

    $headers ["From"] = "truc@youpla.fr" ;
    $headers ["To"] = "muche@alala.com" ;
    $headers [Content-Type"] = "text/html; charset=iso-8859-1";

    etc...

    En espérant que cela rende service ...
    ....

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

Discussions similaires

  1. Envoi d'e-mail au format HTML
    Par moustika dans le forum Langage
    Réponses: 5
    Dernier message: 22/12/2010, 12h28
  2. envoi d'un mail sous format html en asp.net c#
    Par perloutta dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/02/2009, 14h45
  3. envoi d'un mail au format HTML
    Par mariepierre dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 14/01/2009, 14h55
  4. [PHPMailer] envoie de mail au format html via phpmailer()
    Par leclone dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/02/2007, 11h14
  5. Envoi de mail au format html
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/01/2004, 12h29

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