par
Hywan » 11 févr. 2008, 15:00
Ton problème m'a causé pas mal de soucis tu sais

.
Je me suis posé pas mal de questions et je pense avoir une réponse.
Pour avoir un mail avec plusieurs types de données (text, html etc.), il faut déclarer le content-type comme étant multi-partie et alternatif :
suivi bien entendu de la frontière (Boundary="...")
Ensuite tu écris ta première frontière, suivi de :
(suivi accessoirement du charset — e.g. charset=utf-8 — et du format — e.g. format=flowed —), puis ton message.
Ensuite, tu écris une nouvelle fois ta frontière, puis le content-type en HTML :
et tout la tralala, suivi de ta page HTML.
Voici un exemple très rapide :
Code : Tout sélectionner
Subject: Testing
Content-Type: multipart/alternative;
boundary="------------000900020004060505060206"
--------------000900020004060505060206
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hopla.
--------------000900020004060505060206
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Un titre</title>
<....>
</head>
<body>
<p>Hopla.</p>
</body>
</html>
--------------000900020004060505060206--
Maintenant que l'on a les deux contenus, il me semble que c'est à l'outil de messageries de faire le choix. Par défaut, il devrait choisir le meilleur rendu, soit HTML. Il devrait tous le faire, après je n'ai pas vérifié sur tous. Seulement sur Thunderbird, Mail et Outlook (98). Je nai pas testé sur les outils de messageries en ligne (Hotmail, Gmail et consort). Mais ce qui est pratiquement sûr, c'est que tu ne peux pas définir une préférence d'affichage. Si tu écris 2 contenus différents, c'est pour laisser à l'outil le choix. Donc je ne vois pas comment forcer un affichage plutôt qu'un autre, sauf si on en écrit qu'un seul des deux.
Ton problème m'a causé pas mal de soucis tu sais ;-).
Je me suis posé pas mal de questions et je pense avoir une réponse.
Pour avoir un mail avec plusieurs types de données (text, html etc.), il faut déclarer le content-type comme étant multi-partie et alternatif : [code]Content-Type: multipart/alternative;[/code] suivi bien entendu de la frontière (Boundary="...")
Ensuite tu écris ta première frontière, suivi de : [code]Content-Type: text/plain;[/code] (suivi accessoirement du charset — e.g. charset=utf-8 — et du format — e.g. format=flowed —), puis ton message.
Ensuite, tu écris une nouvelle fois ta frontière, puis le content-type en HTML : [code]Content-Type: text/html[/code] et tout la tralala, suivi de ta page HTML.
Voici un exemple très rapide : [code]Subject: Testing
Content-Type: multipart/alternative;
boundary="------------000900020004060505060206"
--------------000900020004060505060206
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hopla.
--------------000900020004060505060206
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Un titre</title>
<....>
</head>
<body>
<p>Hopla.</p>
</body>
</html>
--------------000900020004060505060206--[/code]
Maintenant que l'on a les deux contenus, il me semble que c'est à l'outil de messageries de faire le choix. Par défaut, il devrait choisir le meilleur rendu, soit HTML. Il devrait tous le faire, après je n'ai pas vérifié sur tous. Seulement sur Thunderbird, Mail et Outlook (98). Je nai pas testé sur les outils de messageries en ligne (Hotmail, Gmail et consort). Mais ce qui est pratiquement sûr, c'est que tu ne peux pas définir une préférence d'affichage. Si tu écris 2 contenus différents, c'est pour laisser à l'outil le choix. Donc je ne vois pas comment forcer un affichage plutôt qu'un autre, sauf si on en écrit qu'un seul des deux.