Aller au contenu

mail HTML


Neoboot

Sujets conseillés

salut tout le monde,

Lorsque j'envoie un mail au format html il est recu en texte brut , pourtant j'ai bien mis les bon header

mail($envoie_mail["email"],"titre", $message, "From: email_AT_email.com\r\nReply-To: email_AT_email.com\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");

Note:

Exemple repris de nexen

Lien vers le commentaire
Partager sur d’autres sites

Salut scarabeuz,

L'exemple que tu donnes est bon, et les entêtes me semblent correctes elles-aussi.

Une question (peut-être idiote): ta variable $message contient bien du code HTML ?

Et dans l'affirmative, les doubles cotes y sont bien précédées de \ ?

Fais un essai en précédent ton appel par ceci:

$message=
"<html><body>" .
"<h1>Email HTML</h1>".
"<b><u>Ceci est un document HTML</u></b><br>" .
"On peut aussi y faire varier les <font size=\"4\">tailles</font> et les <font color=\"red\">couleurs</font>" .
"</body></html>";

Dan

Lien vers le commentaire
Partager sur d’autres sites

ben enfaite j'ai mis aucun \" je les est surrpime......

voici le code

$message = "<html><head><title>NeoBoot</title></head>
<body>
<p><font size=2>Bonjour,</font></p>
<p><font size=2>blablablablablablablabla</font></p>
<p><b><font color=#FF0000 size=2>Nouveau :<br>
</b><a href=http://www.neoboot.com/service/>plus d'info</a></p>
<p> </p></body></html>";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: mail_AT_amil.com";  
mail("mail_AT_mail.com","Le sujet du msg",$message,$headers);

Bon j'ai racourci un peu :)

Modifié par Neoboot
Lien vers le commentaire
Partager sur d’autres sites

mail($envoie_mail["email"],"titre", $message, "From: email_AT_email.com\r\nReply-To: email_AT_email.com\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");

Et ca marche, maintenant, ou pas ??

As tu essayé sans les \r\n ? En mettant \n tout court ?

les \r\n sont réservés à windows 32 bits...

A+.

Lien vers le commentaire
Partager sur d’autres sites

en faite je sais pas , mon logiciel de lecture email arrive a lire le courier html provenant de neoboot.

J'ai enlever les \r\n j'ai fait un test et pour moi c'est le meme resultat..... donc je sais pas, faut ke je fasse un teste avec kelkun d'autre...... :?:

Lien vers le commentaire
Partager sur d’autres sites

c'est surtout une question esthetique la version html, le texte brut....... c'est brute :)

J'utilise pas outlook ...... incredimail

Et puis se qui est bizarre c'est que pour la newsletter j'utilise le meme script et il n'ya aucun probleme apparement......

Lien vers le commentaire
Partager sur d’autres sites

J'ai eu parfois ton problème (souvent dû à un problème de caractère mal transcodé)

Dans les cas extrêmes, j'utilise un message en MIME avec version alternative et code en base 64

attention au "chunk_split(base64_encode())" : c'est la clef du truc. Avec ça, n'importe quel code est reconnu, sans cela, bonjour les surprises !

<?php 

$headers = "From: webserver_AT_localhost\r\n";

$headers .= "MIME-Version: 1.0\r\n";

//boundary UNIQUE
$boundary = uniqid("HTMLDEMO");

//INDICATION DE CONTENU ALTERNATIF PLAIN TEXTE HTML
$headers .= "Content-Type: multipart/alternative" .
  "; boundary = $boundary\r\n\r\n";

//MESSAGE D'ALERTE
$headers .= "Ceci est un message encodé MIME.\r\n\r\n";

//plain text
$headers .= "--$boundary\r\n" .
  "Content-Type: text/plain; charset=ISO-8859-1\r\n" .
  "Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("Version plain text !"));

//version HTML
$headers .= "--$boundary\r\n" .
  "Content-Type: text/html; charset=ISO-8859-1\r\n" .
  "Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("Version <b>HTML</b>"));

//send
message
mail("root_AT_localhost", "Un Message HTML", "", $headers);
?>

Cela marche aussi sans la zone plain text !

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...