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 :

Envoi e-mail en html


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut Envoi e-mail en html
    Bonjour à tous,

    je suis entrain de dev un système de newsletter on line, mais il y a quelque chose qui semble m'échapper

    j'ai utilisé le code html suivant (issu d'un tuto developpez) pour être sur que j'avais pas de souci:

    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
     
    // To
    $to = 'truc@server.com';
     
    // Subject
    $subject = 'Developpez.com - Test Mail';
     
    // Headers
    $headers = 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
    $headers .= "\r\n";
     
    // Message
    $msg = '<strong>Developpez.com</strong> - Message du mail ...';
     
    // Function mail()
    mail($to, $subject, $msg, $headers);
    j'ai bien entendu changé l'adresse destinataire.

    Le mail arrive bien dans ma boite mais bizarrement:
    Content-type: text/html; charset=utf-8
    Message-Id: <20091014150005.3E08D110DF@mail>
    Date: Wed, 14 Oct 2009 17:00:05 +0200 (CEST)
    From: www-data@aviip.fr (www-data)
    X-Ovh-Tracer-Id: 16682177446253972409
    X-Ovh-Remote: 213.251.184.176 (ks35201.kimsufi.com)
    X-Ovh-Local: 213.186.33.29 (mx1.ovh.net)
    X-Spam-Check: DONE|U 0.5/N




    <strong>Developpez.com</strong> - Message du mail ...
    et dans les propriétés du mail (sous outlook 2007) il me dit: type: text brut

    Bref j'avoue ne pas comprendre

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    Après test: le mail se lit correctement sur un webmail roundcube. mais cela n'explique pas pourquoi je recois des newsletter standard sans problème dans ma boite habituelle outlook 2007.

    Avez vous une idée?

  3. #3
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    pour faire des e-mails spéciaux utilise plutôt une bibliothèque comme PHPMailer par exemple
    http://jcrozier.developpez.com/tutor...eloppeurs/#LIV
    GNAP !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    Merci pour la suggestion, je me vais renseigné mais il est vrai que ce genre de librairie est sans doute éprouvée pour ce type de problème.

    Maintenant je maintiens par pure curiosité ma question: d'où peut venir le problème? sans doute de l'en-tête mais plus précisément?

    Merci d'avance

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 44
    Points
    44
    Par défaut
    Bonjour,
    C' est une rigueur d'entête
    tests cette exemple en ne modifiant que ton nom et mail
    ne changes rien d'autre, envoies tout sur ton site et exécutes

    Le HTML est un html ordinaire, sauf que les images sont sur un site web ...

    son nom le_mail.htm
    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
     
    <html><body>
    <style>
    * {font-size : 100%;}
    html { width:100%;height : 100%;font-size : 100%;}
    BODY {width:100%;height : 100%;background-color : #557bac; 
    font-family : Verdana, Myranda,Arial, Helvetica, sans-serif; 
    font-size : 16px; color : #ffffff; margin-left : 0; margin-right : 0;}
    .leTitre { font-family : "Felix Titling", "Times New Roman", Harrington, sans-serif; font-size : 3em; color : #aaaaaa; } 
    span.LaFonte_2_Coul1 { color : #ffffff; font-size : 1.2em; }
    </style>
     <p align=center>
      <span class="leTitre">  LE TITRE DE TON MESSAGE DE NEWS <br /></span>
    <br /> <br /><img src="http://www.developpez.net/template/images/logo.gif" alt="" border=0 />
     <br /><br />
     </p>
      <span class="span.LaFonte_2_Coul1">Tu peux écrire comme sur un HTML
        <br /><br />
     
        Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla     <br />
      </span>
        <p align=center><br />
        <span class="span.LaFonte_2_Coul1">  ********** ©- ton site 2009 **********</span>
    <br /> <br /><img src="http://www.developpez.net/template/images/logo.gif" alt="" border=0 />
        </p>
    </body></html>
    Le PHP le_mail_envoie.php

    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
     
     
    <?PHP
    $Sonnom="Durand Jacques";
    $LeMail="durand@wanadoo.fr";
    $Le_Objet="ton test html";
     
     $Le_Body = "";
     $Le_Html="le_mail.htm";
     $Sa_Ligne=file($Le_Html);
     $NbrLig=count($Sa_Ligne)-1;
     for($i=0;$i<=$NbrLig;$i++)
      {
       $Le_Body .= stripslashes($Sa_Ligne[$i]);
      }
     
    $X_De = "MIME-Version: 1.0\r\n";
    $X_De .= "content-type: text/html; charset=iso-8859-1\r\n";   
    $X_De .= "From: ".$Sonnom." <".$LeMail.">";
    $X_A = "TON NOM <TON@MAIL>";
    mail($X_A, $Le_Objet, $Le_Body, $X_De); 
    ?>

Discussions similaires

  1. Envoi de mail en Html
    Par neil_lahlou dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 24/12/2006, 21h10
  2. [Mail] Problème envoi e-mail format HTML
    Par Sayrus dans le forum Langage
    Réponses: 13
    Dernier message: 19/12/2006, 14h57
  3. [mail] Timeout sur envoi de mails en HTML
    Par NorthernLights dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 05/12/2006, 10h35
  4. envoi de mail format HTML
    Par heteroclite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 14/10/2006, 11h54
  5. [VBS & CDO] Envois de mail format HTML
    Par nonotoubo dans le forum VBScript
    Réponses: 2
    Dernier message: 23/08/2006, 16h34

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