Aller au contenu

Envoi dun mail HTML OK


Sujets conseillés

Posté

Bonjour,

Je viens de faire une lettre d'actualite avec envoi hml et txt selon le choix des personnes.

L'envoi en html fonctionne correctement mais au format txt j'ai des problémes d'encodage avec les accents.

Je m'explique voici un petit morceau de newsletter que je met dans mon textarea avant envoi :

<h1 style="color:#FF6600 ">Newsletter n° 2</h1>
<h2 style="color:#993300">Téléchargement</h2>

Format HTML, prise en charge des couleurs et affichage correct du mot Téléchargement

Format TXT, il me met tout en ligne puis me marque Téléchargement Grrr

Mon bout de code PHP et mon header de mail :

echo"<h1>Version HTML du message</h1>";
$message=str_replace("\n","<br />",$message);
$message= stripslashes("$message");
echo $message;

echo "<h1>Version texte du message</h1>";
$text = $message."";
$text = preg_replace("`<h[1-6]>(.*)</h[1-6]>`i", "\r\n\r\n== $1 ==\r\n\r\n", $text);
$text = str_replace("<br />", "\r\n", $text);
$text = strip_tags($text);
$text = stripslashes("$text");
echo $text;

$subj = "La newsletter de Dubcl";

$message = "<html><head><title>$subj</title><meta http-equiv=\"text/html; charset=iso-8859-1\" /></head><body>".$message."</body></html>";
$cnt=0;
while ($a = mysql_fetch_assoc($r)) {
$email = $a["email"];
$html = $a["html"];
$body = (($html)? $message:$text);
$header = "From:dd.dd_AT_xx.fr <$subj>\r\nContent-Type:".(($html)? "text/html; charset=iso-8859-1":"text/plain; charset=iso-8859-1");

En fait je voudrais qu'au format txt, sous outlook il ne m'affiche plus les entités é en é

merci à tous

Posté

tu as deux solutions ...

la premiere, rajouter un champ texte pour ta news en txt

la seconde, faire des replace en abondance ... (mais ca c pas terrible...)

Posté

Bonjour,

tu peux utiliser la fonction html_entity_decode pour passer des entités HTML au chartset de ton choix. Lis bien le manuel, tu as intérêt à définir le charset car la configuration peut changer en fonction du serveur.

Veuillez vous connecter pour commenter

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



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