Mail HTML interprété comme texte brut

ScyDark
Invité n'ayant pas de compte PHPfrance

20 déc. 2010, 16:03

Bonjour à tous,

Nous avons, dans notre framework, une classe Mail simplifiant l'envoi d'e-mails avec la fonction mail() de PHP.
Nous rencontrons depuis peu un problème de lecture des mails HTML sur certains providers, dont Skynet (en Belgique). En effet, alors que la plupart des providers lisent correctement l'e-mail, une fois arrivé sur Skynet, l'HTML est lu en tant que texte brut, et ce malgré les headers que nous passons dans l'e-mail. Pire encore, une partie de ces headers s'affichent dans le même mail.

Voici, par exemple, à quoi ressemble un de ces e-mails ratés :
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Mailer: PHP/5.2.3
<html>
<body>
<p>Voila ton nouveau mot de passe : ytufecezi</p><p>Bien a vous</p>
</body>
</html>
Voilà les headers qui sont envoyés avec le mail :

Code : Tout sélectionner

From: [email protected] MIME-Version: 1.0 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-Path: [email protected] X-Mailer: PHP/5.2.3
Il faut savoir que le problème est tout à fait indépendant du client mail, deux mails identiques envoyés sur le même client mais à deux adresses différentes sont perçus de manière différente.

Quelqu'un aurait-il une idée à cet étrange problème ?

ViPHP
ViPHP | 2577 Messages

21 déc. 2010, 09:00

Bonjour,

Il me semble, que selon les serveurs de mail la fin de ligne n'est pas traitée de la même façon. Peut être le même problème que pour l'édition des fichiers unix avec notepad qui les fait apparaitre sous une seule ligne.

Eventuellement fait une recherche de ce coté là. Le problème doit se situer sur la ligne "MIME-Version: 1.0".

Mais je suis loin d'être un expert en la matière.

ScyDark
Invité n'ayant pas de compte PHPfrance

27 déc. 2010, 16:21

Hello,

En fouillant un peu, j'ai trouvé la solution.

En fait, chaque header était séparé par "\r\n". En supprimant simplement le "\r", tout s'est remis à fonctionner à merveille.

Eléphant du PHP | 99 Messages

27 déc. 2010, 21:16

Bonjour,

Si c'est réglé, peux-tu mettre le topic en résolu, ça permettra aux autres ayant ce problème de pouvoir trouver la solution dans ton post, merci.