envoi de mail texte + HTML : quel codage choisir ?
20 messages • Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

WebRankInfo - Administrateur du site

- Messages: 15883
- Inscription: Ven Avr 19, 2002 19:51
envoi de mail texte + HTML : quel codage choisir ?
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) :
Olivier
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";
Olivier
Bonjour,
ceci
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

- Messages: 15883
- Inscription: Ven Avr 19, 2002 19:51
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 !
-

WebRankInfo - Administrateur du site

- Messages: 15883
- Inscription: Ven Avr 19, 2002 19:51
je l'envoie en mixte : texte brut + HTML
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) ?
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

- Messages: 15883
- Inscription: Ven Avr 19, 2002 19:51
je veux bien maisd_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
YAMS is no longer available for download
Le paramètre accept-charset de la balise form prime sur l'encodage du script et de la page...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) ?
-

WebRankInfo - Administrateur du site

- Messages: 15883
- Inscription: Ven Avr 19, 2002 19:51
aurais-tu qq lignes de code d'exemple ?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...
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";
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">
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?
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
20 messages • Page 1 sur 2 • 1, 2
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 :
- Google Code publie des statistiques sur le codage HTML des pages web
- Google lance Picasa en français
- Google Sitemap Generator version 1.3
- Marketing viral et référencement
- La mesure d'audience axée référencement
- Open Federation : Google Talk joue la carte de l'interopérabilité avec XMPP
- Nouvelle version de Google Analytics : interface beaucoup plus claire
- Le checksum de la Google Toolbar
- Transformer de simples citations en liens
- Changer d'hébergeur web sans pénaliser son référencement
- Action Collective envers Windows Live Mail : envoi d'e-mail
- Envoi d'e-mail via la fonction mail() de php
- Envoi d'une page mail.php via mail()
- MAIL illisible : problème de codage ou autre chose...
- Caractères accentués et codage HTML
- envoi en masse de mail regulier !!!
- problème envoi mails g mail
- Formulaire envoi mail+hebergement
- Envoi de mail avec photo
Consultez la description détaillée des produits ou services de Google suivants : Gmail Notifier, Google Picasa, Summer of Code, Google Earth Flight Simulator, Google Earth, Google Site Stats
- Transformer des citations en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum