Problèmes avec la fonction mail (mails HTML) - PHP - Programmation
Marsh Posté le 15-01-2009 à 17:01:33
J'ai laissé tomber l'UTF-8 dans les mails, pour tout mettre en ISO-8859-1, seule façon que ça fonctionne bien chez hotmail Enfin du moins les titres hors contenu HTML, lequel est htmlentitiesé jusqu'à la moëlle
Marsh Posté le 15-01-2009 à 17:07:55
Vu sur le deuxième lien, le pourquoi du comment.
Et a priori, on trouve la (seule ?) solution : passer en Latin-1
Merci Microsoft
Marsh Posté le 15-01-2009 à 22:09:31
Moi je suis en UTF8 partout mais avec base64 en plus :
=?UTF-8?B? ....... ?=
et ça passe sans problème y compris sur hotmail.
Yellu
Marsh Posté le 16-01-2009 à 10:39:46
yellu > Tu pourrais nous poster un code type de ta solution?
Marsh Posté le 16-01-2009 à 11:29:15
Exemple rapide :
Code :
|
Vous pouvez mettre de l'ISO à la place de l'UTF-8 et vous pouvez aussi utiliser un Q à la place du B dans ce cas vous utiliserez le "quoted_printable_encode" pas toujours dispo en natif, mais pas grand chose recoder.
Dans la RFC il est clairement indiquer je crois que tout les caractères des headers doivent être encoder de toute manière, en revanche "spam assassin" pénalise l'abus de telle pratique ce qui est paradoxal, par exemple dans le sujet "bonjour à vous", il ne faudrait idéalement encoder que le "à" pour être nickel et avoir donc une chaîne de type "bonjour =?UTF-8?B?b64duA?= tous".
Yellu
Marsh Posté le 06-05-2009 à 14:21:17
Finalement, j'ai trouvé une solution :
Code :
|
Il peut maintenant y avoir n'importe quoi dans l'objet ou dans le nom de l'expéditeur, ça passe.
Mais dois-je aussi encoder (avec iconv_mime_encode) le contenu du mail (la variable $message) ?
Un "é", un "è" ou un "€" dans le texte s'affiche correctement sur tous les clients de messagerie que j'ai testé... (Outlook, Gmail, Hotmail, ...) sauf dans un truc appellé Groupwise où un "é" s'affiche "é" comme si c'était de l'ISO-8859-1 dans lequel on avait tapé un "é" codé en UTF-8...
Marsh Posté le 15-01-2009 à 16:41:46
Bonsoir à tous,
Je développe actuellement un application PHP pour le boulot et j'ai un petit soucis avec la fonction mail. Tout fonctionne parfaitement avec des adresses gmail ou autre, mais avec hotmail, il y a un probleme de codage dans le nom de l'expéditeur ($detxt) et dans l'objet ($objet).
Tous les paramètres passés à ma fonction ci-dessous sont en utf-8.
mon code :
J'ai donc essayé de décoder l'utf8 dans la fonction mais alors le probleme s'inverse :
Message édité par zezette le 15-01-2009 à 16:42:20
---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes