envoi de mail texte + HTML : quel codage choisir ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

envoi de mail texte + HTML : quel codage choisir ?

Message le Lun Mai 31, 2004 13:04

Comme le savent certains d'entre vous, ma newsletter n'est pas visible dans certains logiciels de messagerie (c'est le cas notamment d'Hotmail).
Le problème vient sûrement du codage que j'utilise. Voilà une partie de mon code de génération du mail (texte + HTML) :
Code: Tout sélectionner
      // html section
      $Msg.="\n--".$IB."\n";
      $Msg.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n";
      $Msg.="Content-Transfer-Encoding: base64\n\n";
      // html goes here
      $Msg.=chunk_split(base64_encode($Html))."\n\n";
Est-ce que l'un d'entre vous pourrait me dire ce qu'il faut utiliser pour envoyer un mail HTML lisible par tout le monde ? Merci d'avance.

Olivier

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Message le Lun Mai 31, 2004 13:11

Bonjour,
ceci
Code: Tout sélectionner
/* Pour envoyer un mail au format HTML, vous pouvez configurer le type Content-type. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* et hop, à la poste */
mail($to, $subject, $message, $headers);
?>


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

Message le Lun Mai 31, 2004 13:15

j'avais essayé mais ça ne marchait pas dans tous les cas (évidemment je n'avais pas noté lesquels). Je crois que je vais y revenir et je verrai bien ce que ça donne !

milkiway
WRInaute accro
WRInaute accro
 
Messages: 2216
Inscription: Mar Fév 03, 2004 3:00

Message le Lun Mai 31, 2004 13:21

Sinon tu peux les envoyer en texte brut ou même donner le choix aux utilisateurs ;)


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

Message le Lun Mai 31, 2004 13:38

je l'envoie en mixte : texte brut + HTML


Bobez
WRInaute passionné
WRInaute passionné
 
Messages: 716
Inscription: Jeu Mai 20, 2004 13:03

Message le Lun Mai 31, 2004 16:16

Si vous permettez que je "squatte" juste un peu ce topic : j'envoie des mails en texte, est-ce quand même nécessaire de préciser le charset dans les headers (sachant que mon fichier script qui envoie le mail est lui-même encodé en iso-8859-1) ?

d_vid
WRInaute impliqué
WRInaute impliqué
 
Messages: 376
Inscription: Dim Jan 04, 2004 20:16

Message le Lun Mai 31, 2004 20:54

WebRankInfo a écrit:je l'envoie en mixte : texte brut + HTML


Tu peux utiliser le logiciel YAMS pour envoyer tes newsletters.
Il est assez performant et jusqu'à présent il tourne bien avec les différentes newsletters que je fais avec mes sites.
le lien ici : http://home.hccnet.nl/s.j.francke/yams/yams.htm


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

Message le Lun Mai 31, 2004 21:10

d_vid a écrit:
WebRankInfo a écrit:je l'envoie en mixte : texte brut + HTML


Tu peux utiliser le logiciel YAMS pour envoyer tes newsletters.
Il est assez performant et jusqu'à présent il tourne bien avec les différentes newsletters que je fais avec mes sites.
le lien ici : http://home.hccnet.nl/s.j.francke/yams/yams.htm
je veux bien mais
YAMS is no longer available for download


maxttb
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Ven Fév 27, 2004 16:36

Message le Lun Mai 31, 2004 21:36

Pourquoi ne pas passer directement à l'UTF-8? Il est universel et j'ai deja reçu des mails en japonnais sous hotmail, les caractères accentués francais ne doivent donc pas être un problème...


maxttb
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Ven Fév 27, 2004 16:36

Message le Lun Mai 31, 2004 21:38

Bobez a écrit:Si vous permettez que je "squatte" juste un peu ce topic : j'envoie des mails en texte, est-ce quand même nécessaire de préciser le charset dans les headers (sachant que mon fichier script qui envoie le mail est lui-même encodé en iso-8859-1) ?
Le paramètre accept-charset de la balise form prime sur l'encodage du script et de la page...


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

Message le Lun Mai 31, 2004 21:53

maxttb a écrit:Pourquoi ne pas passer directement à l'UTF-8? Il est universel et j'ai deja reçu des mails en japonnais sous hotmail, les caractères accentués francais ne doivent donc pas être un problème...
aurais-tu qq lignes de code d'exemple ?


Bobez
WRInaute passionné
WRInaute passionné
 
Messages: 716
Inscription: Jeu Mai 20, 2004 13:03

Message le Lun Mai 31, 2004 21:58

maxttb a écrit:Le paramètre accept-charset de la balise form prime sur l'encodage du script et de la page...

Donc, si je te suis bien, il vaut mieux que je rajoute le charset dans les headers ?

Code: Tout sélectionner
$headers .= "charset=iso-8859-1\r\n";


maxttb
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Ven Fév 27, 2004 16:36

Message le Lun Mai 31, 2004 23:46

WebRankInfo a écrit:aurais-tu qq lignes de code d'exemple ?

Code: Tout sélectionner
$Msg.="Content-Type: text/html; charset=utf-8\n";

Et le tour est joué.
Du moins, c'est ce que je fais dans un script Perl pour envoyer des mails. Attention cependant, il faut renseigner la balise FORM avec le paramètre accept-charset :
Code: Tout sélectionner
<form action="script.php" method="post" accept-charset="utf-8">


maxttb
WRInaute impliqué
WRInaute impliqué
 
Messages: 477
Inscription: Ven Fév 27, 2004 16:36

Message le Lun Mai 31, 2004 23:56

Bobez a écrit:
maxttb a écrit:Le paramètre accept-charset de la balise form prime sur l'encodage du script et de la page...

Donc, si je te suis bien, il vaut mieux que je rajoute le charset dans les headers ?

Code: Tout sélectionner
$headers .= "charset=iso-8859-1\r\n";

il faut impérativement que les charsets lors de ton envoi de mail et de ton formulaire soient identiques, à moins bien sûr de faire la conversion dans le script...
Dans ton cas, le fait que ton email soit en mode texte ne change rien à l'encodage lui même... En effet, le mode texte ou HTML ne sert qu'aux logiciels clients lors du rendu du message. Qu'il soit texte ou HTML, si le jeu de caractères n'est pas le bon, il ne sera pas affiché correctement. Tu peux très bien encoder un message texte en UTF-8 ou un message HTML en iso-8859-1.
Une petite ligne dans l'header permet, à coup sûr (à moins bien entendu que le jeu de caractère ne soit pas installé) d'avoir un rendu correct. Pourquoi ne pas le mettre?


Bobez
WRInaute passionné
WRInaute passionné
 
Messages: 716
Inscription: Jeu Mai 20, 2004 13:03

Message le Mar Juin 01, 2004 12:07

maxttb a écrit:Une petite ligne dans l'header permet, à coup sûr (à moins bien entendu que le jeu de caractère ne soit pas installé) d'avoir un rendu correct. Pourquoi ne pas le mettre?

En effet ! Par contre j'ai essayé de l'ajouter, mais ça foire ! Comment faut-il le goupiller avec le header "From" ? Car ce que je fais ne fonctionne pas, il assimile le charset à une annonce du champ from...
Merci

envoi de mail texte + HTML : quel codage choisir ?

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités