Aller au contenu

HTML ou txt pour un email.


Sujets conseillés

Posté

Bonjour à tous...

Jusqu'à présent j'envoyai mes mails uniquement en txt ... pour être certain que le destinataire arrive à le lire !

Jusque là, pas de problème ! Tout tourne sans souci, dans le meilleur des mondes.

Je me pose cependant une question...

Beaucoup d'entre-vous doivent utiliser Mozilla Thunderbird pour relever et envoyer ses mails. Vous devez donc être souvent confronter à ce message disant :

  • Envoyer en texte et en HTML
  • Envoyer en HTML seulement.
  • Envoyer en Texte seulement.

J'ai donc chercher à comprendre la première solution.

Google m'a donc guidé jusqu'à cette page : http://www.geckozone.org/forum/viewtopic.php?t=15551

Je cite la partie qui m'intéresse :

Donc en envoyant en html et en text, c'est le client mail qui vas choisir comment il afficheras le mail. C'est à dire s'il ne sait pas afficher le html en text simple, sinon il affiche en html.

J'ai compris l'idée, mais comment cela fonctionne t-il ?

Et surtout est-ce possible de faire de même avec la fonction mail() de PHP ?..

Merci pour vos réponses !

Posté (modifié)

À confirmer, mais la fonction mail de PHP est très basique et ne gère, à mon humble avis, pas l'envoi de mail "multipart" .

En fait, quand tu veux envoyer un mail en texte + HTML, ou encore un mail avec pièce jointe par exemple, il découpe le message en plusieurs sections, une partie en mode texte et une partie en mode HTML pour ton cas. Or, la fonction mail n'accepte qu'un seul corp de message, c'est cela qui me fait dire qu'elle ne gére pas de tels message.

Cependant, tu peux TRES facilement utiliser l'utilitaire sendmail à la place, qui lui sera capable de faire tout ce que tu veux, dont les messages "multipart" .

PS : la fonction mail peut très bien envoyer des messages en HTML, il suffit de préciser dans les headers "Content-type: text/html" .

Modifié par maximettb
Posté

Sendmail... ok je vais me renseigner là-dessus. Merci Maximettb...

Sinon, oui je sais que je peux modifier le content type... Mais je choisi toujours txt pour éviter tout problème de compatibilité.

Bref, Merci pour l'info !

Posté

La fonction mail() de PHP peut très bien gérer des e-mails mixtes.

J'avais fait une fonction pour les gérer :

function mail_mixte($to , $sujet , $html , $text , $reply , $from, $bcc) {  
$limite = "_----------=_parties_".md5(uniqid (rand()));

$mail_mime = "Date: ".date("l j F Y, G:i")."\n";
$mail_mime .= "MIME-Version: 1.0\n";
$mail_mime .= "Content-Type: multipart/alternative;
boundary=\"".$limite."\"\n";
$mail_mime .= "Bcc: ".$bcc."\n";

$message = "--".$limite."\n";
$message .= "Content-Type: text/plain\n";
//$message .= "charset=\"iso-8859-1\"\n";
//$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $text;

$message .= "\n\n--".$limite."\n";
$message .= "Content-Type: text/html\n";
$message .= "charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= $html;

$message .= "\n--".$limite."--";

return mail($to, $sujet, $message, "Reply-to: $reply\nFrom: $from\n".$mail_mime);
}

Posté

Excellent !

Merci capt'ain Torche !...

N'empêche qu'est-ce qu'on peut se prendre la tête pour des conneries ;)

Mais ta fonction me sera utile, c'est bien gentil de ta part !!!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...