En tête html via la fonction mail() de php

  • Auteur de la discussion Auteur de la discussion Recif
  • Date de début Date de début
WRInaute impliqué
Bonjour,

J'envois des mail via la fonction mail() de php, en html, et j'ai une personne sur le portail d'orange/wanadoo qui reçois les mails avec tous les tags apparents, comme si il l'interprêtait en format texte... Je ne trouve pas le problème dans mon code, pouvez vous vérifier avec moi que tout est correct?
Merci

Code:

Code:
$emailsupp = "noreply@toto.com";
$headers ='From: "'.$emailsupp.'"<'.$emailsupp.'>'."\n"; 
$headers .='Reply-To: "'.$emailsupp.'"<'.$emailsupp.'>'."\n"; 
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; 
$headers .='Content-Transfer-Encoding: 8bit';

$content = "<html><head><title>Notification</title></head><body>Bonjour,<br><br>blablabla
	<br><br>
	<br>L'équipe toto<br><a href=\"http://www.toto.com\">http://www.toto.com</a></body></html>";

$email = "\"$email\" <$email>";
mail($email, "Sujet du mail", $content, $headers);
 
WRInaute accro
D'où l'intérêt d'utiliser une classe éprouvée: PHPMailer ou SwiftMailer, ce genre de problème étant surement résolu :wink:
 
WRInaute accro
essaie d'ajouter le type mime a ton entête :
Code:
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
Il est possible que cela change le souci, de plus il est possible aussi que orange filtre les contenu html. il faudrait dépouiller un mail correct pour se faire une idée des entêtes envoyés (plus facile que de chercher ce qui manque).
 
WRInaute impliqué
J'ai essayé ça:

Code:
$headers  = 'MIME-Version: 1.0' . "\r\n";
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Et même problème... La personne reçoit d'autres mail en html et ils fonctionnent... Malheureusement je n'ai pas accès au code source de ces mails... :(
 
WRInaute accro
Perso je ne met pas les balises <html>, <head> et <body> dans mes mails, juste un div qui contient le message a passer.
Il faut penser que tu peut être lu dans une page html existante (le client mail online) ce qui peut provoquer un souci a l'affichage.
Mais je doute que ce soit ça.
 
WRInaute accro
Recif a dit:
Malheureusement je n'ai pas accès au code source de ces mails... :(
J'ai pas de mail chez nanadoo donc je ne peux pas t'aider plus mais tu peux peut être demander a ton contact de te FW un mail qui fonctionne, en l'épluchant tu auras peut être d'autres informations utiles.
 
WRInaute impliqué
zeb a dit:
Perso je ne met pas les balises <html>, <head> et <body> dans mes mails, juste un div qui contient le message a passer.
Il faut penser que tu peut être lu dans une page html existante (le client mail online) ce qui peut provoquer un souci a l'affichage.
Mais je doute que ce soit ça.

Je ne pense pas non plus car il utilise également outlook express pour récupérer ses mails et ça lui fait pareil dans outlook!...
 
WRInaute accro
je vais m'empresser de plussoyer spout. Tu et prendrais bien moins la tête à utiliser une librairie dédiée qui fait proprement les choses, que ce soit PhpMailer, SwiftMailer ou Zend mail.
 
WRInaute impliqué
J'ai testé avec phpmailer et en effet, ça passe... Mais bon c'est un peu frustrant de ne pas savoir ce qui n'allait pas spécifiquement à wanadoo :wink:
Merci en tout cas.
 
Discussions similaires
Haut