[PHP] pas de mise en page avec mail()

Fermé
Yannichou Messages postés 10 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 31 mars 2008 - 24 mars 2008 à 10:59
Yannichou Messages postés 10 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 31 mars 2008 - 31 mars 2008 à 22:17
Bonjour,
j'ai un formulaire de newsletter avec envoi de mail automatique. L'envoie marche impec mais c'est la réception qui merde un peu.
Sous Thunderbird, j'ai la mise en page voulu mais sous gmail, par exemple, j'ai juste le texte qui s'affiche sans aucune mise en page....
$texte = stripslashes(nl2br($_POST['contenu']));
  $titre = "Newsletter du ".date('d/m', time())." de ***";
 
  $message = "
<html>
<head>
 <title>$titre</title>
 <style type='text/css'>
  body
   {
         width: 450px;
    margin: auto;
    margin-top: 5px;
    margin-bottom: 5px;
        }
       
        #corps
        {
         background-color: rgb(205,205,205);
        }
  .en_tete
   {
         width:450px;
         height:78px;
         background-image: url('http://www.***.fr/img/logo.png');
         background-repeat: no-repeat;
         margin-bottom: 2px;
        }
       
  .corps_page
        {
         width:450px;
         padding: 5px;
         text-align:center;
        }
  .bas_de_page
   {
         width: 450px;
         height: 106px;
         background-image: url('http://www.***.fr/img/bas.png');
         background-repeat: no-repeat;
         margin-top: 2px;
        }
 </style>
 <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
 <div id='corps'>
  <div class='en_tete'>
  </div>
  <div class='corps_page'>
   <p>$texte</p>
  </div>
  <div class='bas_de_page'>
  </div>
 </div>
</body>
</html>";
 
  $header = "From: \"***\"<***@**.fr>\n";
  $header .= "Reply-to: \"***\" <**@**.fr>\n";
  $header .= "MIME-Version: 1.0\n";
  $header .= "Content-type: text/html; charset=iso-8859-1\n";
  $header .= "Content-Transfer-Encoding: 8bit";
 
  $requete = mysql_query("SELECT email FROM newsletters") or die(mysql_error());
  while($data = mysql_fetch_row($requete))
   {
    $adresse = $data[0];
    if(mail($adresse, $titre, $message, $header))
     {
      echo"Mail envoyé avec succès à ".$adresse."<br />";
     }
    else
     {
      echo"Mail non envoyé à ".$adresse."<br />";
     }
   }


merci de m'aider.
A voir également:

3 réponses

Utilisateur anonyme
24 mars 2008 à 11:55
Bonjour

Gmail ne supporte peut etre aps le html...
0
Yannichou Messages postés 10 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 31 mars 2008
24 mars 2008 à 12:11
mais il n'y a pas que gmail. Il y a aussi estvideo..... et d'autre encore.
0
Yannichou Messages postés 10 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 31 mars 2008
31 mars 2008 à 22:17
toujours personne ?
0