blig Posté 26 Juin 2009 Posté 26 Juin 2009 Bonjour, je cherche à envoyer des mails via la fonction mail() de PHP. Tout se passe bien sauf pour un détail, mais pas des moindres et sur lequel je me casse la tête depuis plusieurs heures. Il s'agit de l'encodage du sujet. Sous hotmail le message s'affiche bien sauf le titre ou tout les accents apparaisse avec des @ etc... vous devez voir ce que je veut dire. j'ai bien spécifier charset=UTF-8 dans le header, et j'ai même essayé d'utiliser la fonctio utf8_encode pour le sujet , rien n'y fait! Voilà si il y en a qui ont l'habitude de manier ce genre de truc leur aide pourrait m'être très utile. Merci à tous
Dadou Posté 26 Juin 2009 Posté 26 Juin 2009 Pas mal de clents mails ne savent pas gérer l'utf 8 donc les envoyer en iso
jcaron Posté 26 Juin 2009 Posté 26 Juin 2009 Le Content-Type ne s'applique qu'au "contenu" du mail, pas aux headers. Ceux-ci doivent d'ailleurs normalement être en 7 bits (i.e. ASCII pur). Pour mettre des accents dans le sujet, il faut que celui-ci soit encodé (il y a le choix entre du base-64 et du quoted-printable, éventuellement partiel) et que le charset y soit précisé. En gros, le header doit commencer par =? suivi du charset, suivi de ?Q? et du texte en quoted-printable ou ?B? et du texte en base-64, et fini par ?=. Le quoted printable revient à remplacer les caractères > 128 par =XX où XX est la valeur hexa correspondante (un peu comme quand on encode une URL et que les caractères en question sont représentés par %XX). Voir la RFC 2047 pour les détails. Note que je ne sais pas s'il y a en PHP des choses qui font tout ça plus ou moins automatiquement... Jacques.
blig Posté 30 Juin 2009 Auteur Posté 30 Juin 2009 Salut merci pour vos réponses, mais j'ai du mal a comprendre ce que je dois ecrire vu que j'utilise pas la synthaxe que tu décris, serait-il possible d'avoir un exemple simple avec un sujet codé en iso par exmple? Merci
captain_torche Posté 30 Juin 2009 Posté 30 Juin 2009 Si tout ton contenu est en UTF-8, il te suffit de décoder uniquement le sujet avec utf8_decode()
jcaron Posté 30 Juin 2009 Posté 30 Juin 2009 http://fr.wikipedia.org/wiki/Multipurpose_...ts_encod.C3.A9s Jacques.
blig Posté 1 Juillet 2009 Auteur Posté 1 Juillet 2009 Ok c'est bon j'ai réussi avec le lien que tu m'as donné jcaron, merci à tous pour vos réponses.
Kioob Posté 5 Juillet 2009 Posté 5 Juillet 2009 Pas mal de clents mails ne savent pas gérer l'utf 8 donc les envoyer en iso tu me fais peur là : je n'ai évidement pas tester tous les clients mail, me contentant du "testeur" de CampaignMonitor. Aurais tu un exemple de client email ne supportant pas l'UTF-8 et/ou des stats ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant