Mail format html

Bonjour,

Voici mon bout de code pour envoyer un mail au format html :

$titre="Déclaration (Actif N° ".$f_5.")";
$tete="From:".$f_27."\n";
$tete="MIME-version: 1.0\n";
$tete="Content-type: text/html; charset=iso-8859-1\n";
$tete="Content-Transfer-Encoding: 8bit\n"; 

$texte.="<br>Nous avons envoyés ce message à ".$f_23." ".$f_24." (<u>Actif N° ".$f_5."</u>).</b><br>";


Quand j'envoie le mail à une adresse gmail, il n'y a aucun problème, par contre à une adresse hotmail, je vois le code html en texte.
Pouvez-vous m'aider à corriger le problème svp ?

Merci

7 réponses

  1. Salut,

    Je pense qu'il te faut rajouter les balises <html> et <body> (et </html> et </body>) pour encadrer ton mail.

    1. $corps.=" 
      <html> 
      <head><title>Un titre ici</title></head> 
      <body>Un message de test</body> 
      </html>";


      Non, même avec ça il fonctionne pas.
      Gmail le prends bien en compte mais hotmail c'est du texte brut

      Voici l'édition du script :
      $tete="From:".$f_27."\r\n".'X-Mailer: PHP/'.phpversion()."\r\n"."MIME-Version: 1.0\r\n"."Content-Type: text/html; charset=utf-8\r\n"."Content-Transfer-Encoding: 8bit\r\n\r\n";
      $titre="Déclaration (Actif N° ".$f_5.")";
      $corps.="<html><head><title>Un titre ici</title></head><body>Un message de test</body></html>";
      1. Bonjour,

        Dans Zend Framework vous créez des mails au format HTML:
        http://framework.zend.com/manual/fr/zend.mail.html-mails.html

        A+
        1. Et le problème ne viendrait pas par hasard de hotmail ? Dans les paramètres de messagerie, peut être y a t il configuré "afficher le html" ou pas
          1. Je viens de tester avec yahoo et il fait pareil qu'avec hotmail or gmail reste le seul à l'accepter au format html...
            Que faire ?
            1. Et un truc dans cet esprit

              <? $to = 'mail@destinataire.com';
                  $from = 'mail@emetteur.com';
                  $subject = "- Sujet du mail -";
                  $contenu = '<p><b>Contenu HTML du mail</b></p>';
              
                  ///////// Code ///////////////////
                  $message = '<html><head><title>'.$subject.'</title></head><body>'.$contenu.'</table></body></html>';
                  $headers = "From: ".$from."\r\nTo: ".$to."\r\nContent-Type: text/html; charset=iso-8859-1\r\n";
              
                  if (mail($to, $subject, $message, $headers)) echo 'Mail envoyé';