probleme caractere (fonction mail)

probleme caractere (fonction mail) - PHP - Programmation

Marsh Posté le 30-07-2007 à 23:37:10    

bonjour, voila
je suis heberge chez 1and1
 
j'utilise la fonction mail et je met le texte au format html

Citation :


 $headers = 'Mime-Version: 1.0'."\r\n";
 $headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
 $headers ='From: "xxx"<xxx@xxxx.com>'."\n";
 $headers .='Reply-To: xxx@xxxxx.com'."\n";
     if(mail('$email', $sujet, $message, $headers))
     {
          echo 'message envoye';
     }
     else
     {
         echo 'message non envoye2';
     }


 
quand je recois le mail, le mail n'est pas au format html, c'est en texte brut
alors je comprends pas,  
sur ma boite mail hotmail, il me dit

Citation :

Content-Type: text/plain
 
&lt;html&gt;&lt;body&gt;&lt;p&gt;fred,&lt;/p&gt;


Message édité par infoman64 le 01-08-2007 à 21:40:41
Reply

Marsh Posté le 30-07-2007 à 23:37:10   

Reply

Marsh Posté le 30-07-2007 à 23:41:40    

j'ai corrige une erreur il manquait un point
 

Citation :

$headers = 'Mime-Version: 1.0'."\r\n";
$headers.= 'Content-type: text/html; charset="iso-8859-1"'."\r\n";
 $headers .='From: "xxx"<xxx@xxxx.com>'."\n";
 $headers .='Reply-To: xxx@xxxxx.com'."\n";
     if(mail('$email', $sujet, $message, $headers))
     {
          echo 'message envoye';
     }
     else
     {
         echo 'message non envoye2';
     }


maintenant il me dit a la reception  

Citation :

Content-Type: text/html; charset=iso-8859-1
 
<html><body><p>fred,</p> ......</body></html>


 
il me prend pas meme quand le texte au format html


Message édité par infoman64 le 30-07-2007 à 23:42:10
Reply

Marsh Posté le 31-07-2007 à 12:22:44    

Salut,
 
Tu devrais consulter ce site : http://lwest.free.fr/doc/php/lib/i [...] il&lang=fr
 
Voici la note concernant les mails en html :
http://lwest.free.fr/doc/php/lib/i [...] =fr#sec_21


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 31-07-2007 à 14:10:36    

salut je pense que tu as un faute de frappe:

Citation :

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


devrait être

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

Reply

Marsh Posté le 31-07-2007 à 14:19:16    

je vx utiliser des mail avec php en utilisant le hmailserver ms ca marche, svp si qq a une idee ca sera gentil de sa part de me communiquer ca

Reply

Marsh Posté le 31-07-2007 à 15:28:00    

Avant de demander quoique ce soit, tu ferais mieux d'écrire correctement. T'es pas sur un t'chat pour ados frustrés.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 31-07-2007 à 15:28:45    

nina dj a écrit :

salut je pense que tu as un faute de frappe:

Citation :

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


devrait être

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



Elle est où l'erreur ?


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 31-07-2007 à 15:47:14    

Y'a juste un espace. Ca change rien lol ...si?


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 01-08-2007 à 10:30:40    

Sauf que dans son code il n'y a aucun espace. Or dans ton exemple il y a un espace dans les 2 cas. Enfin bref! infoman64 pourrait nous dire s'il a résolu son problème...


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 01-08-2007 à 13:46:13    

ca marche dans les deux cas, que le point ca juste apres ou avec un espace,  
tant que le point soit a cote du egal ca marche,
 
bon j'ai trouve mon probleme ca venait du texte que je mettait dans mon mail,
j'ai pas encore corrige, mais ca doit etre une erreur de paranthese ou un truc comme ca.
 
j'ai essaye avec un message tout simple a ca marche niquel. avec des couleurs et tout ca
 

Citation :


 $headers= 'Content-type: text/html; charset="iso-8859-1"'."\r\n";
 $headers.='From: " dudule"<xxx@xxxx.com>'."\r\n";
 $headers.='Reply-To: xx@xxxx.com'."\n";


 
Bon merci quand meme pour votre aide.


Message édité par infoman64 le 01-08-2007 à 13:47:45
Reply

Marsh Posté le 01-08-2007 à 13:46:13   

Reply

Marsh Posté le 01-08-2007 à 19:38:26    

bon je continue le mail est bien envoye mais maintenant j'ai des problemes avec les accents
 
par exemple  
"Votre question a été traité par" au lieu de  
"votre question a été traité par"
 
le code est le meme qu'avant .

Reply

Marsh Posté le 01-08-2007 à 21:42:09    

alors il faut utiliser les codes XHTML pour les voyelles avec accent :
par ex pour "vérifier la possibilité", il faut mettre "v&#xE9;rifier la possibilit&#xE9;"


---------------
The Rom's, à votre service
Reply

Marsh Posté le 02-08-2007 à 11:56:29    

peut-être qu'en rajoutant <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> dans ton code html de ton e-mail ça le ferait?

Reply

Marsh Posté le 02-08-2007 à 21:05:53    

c bon j'ai trouve, je sais pas comment mais j'ai supprimé l'errreur
 
merci a tous

Reply

Marsh Posté le 12-08-2007 à 00:49:01    

Bonsoir,
 
Désolé de débarquer ainsi,
 
Ça fait quelque semaine que je tourne en rond sur ce même problème.
 
J'ai exactement le même type de problème de caractère que ça :
"Votre question a été traité par" au lieu de  "votre question a été traité par"  
 
 
Je me permets donc de relancer le sujet pour vous demander de l’aide :’(
 
J'ai un formulaire de contact PHP, tout bête et con.
Ce formulaire de contact est imbriqué dans mon site web grâce à une fonction include.
Le site web est configuré en ISO-8859-15.
 
Une fois le formulaire de contact rempli, il est envoyé à une autre page qui traite les données.
Je récupère à chaque fois les valeurs $_POST[XXX] dans une variable $XXX
 
Je n'applique aucun traitement sur cette variable (aucun htmlentities ou autre)
 
Quand je fais un echo $XXX; le contenu de la variable s’affiche sans problème.
 
En dessous j'ai une requête mysql qui envoi le contenu du formulaire dans une base de données.
Puis j’ai aussi une fonction mail() qui envoi un email à l’internaute pour signaler que le message a été envoyé avec un récapitulatif du message.
 
La valeur retournée dans la base de données ainsi que par email est foireuse … tous les « é » sont transformées en « é » etc. …
 
Je ne sais pas d’où ça vient… si c’est moi qui déconne, ou si c’est mon serveur internet où est hébergé le site web qui serait peut-être mal configuré …
 
Auriez-vous une piste pour moi ?
 
Merci d’avance

Reply

Marsh Posté le 13-08-2007 à 01:17:50    

Bon ben finalement, c'était un problème provenant d’Apache.
J'ai reconfiguré mon apache en mettant le "defaultcharset" en ISO-8859-15.
 
Merci à vous tout de même, vos différents précédents messages m'ont mis sur la bonne voie.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed