BAD HEADER Non-encoded 8-bit data

Messages postés
63
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
18 juillet 2008
- - Dernière réponse : Evangun
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
- 17 août 2007 à 15:52
Bonjour,
J'essaye de faire un webmail  mais l'affichage des accents (dans le sujet) ne se passe pas correctement.
Cela se produit quand j'envoie un mail à partir d'un formulaire de contact. Lorsque j'envoie à partir de hotmail (par exemple), l'affichage se fait correctement.
Je pense que le problème vient du formulaire d'envoi.
Dans les entête du mail, j'ai trouvé ceci :
<tt>"BAD HEADER Non-encoded 8-bit data ..."
Voici mon code d'envoi du mail :

$destinataire = 'greg@generationweb.be';

$expediteur = $_POST['expediteur'];
$objet = $_POST['objet']; // Objet du message

$headers  = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n";
$headers .= 'Reply-To: '.$expediteur."\n";
$headers .= 'From: "'.$_POST['nom_expediteur'].'"<'.$expediteur.'>'."\n"; $headers .= 'Delivered-to: '.$destinataire."\n\n"; // Destinataire

$message = $_POST['message'];
if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
{
    echo '<center>Votre message a bien été envoyé </green></center>';
}
else // Non envoyé
{
    echo "<center>Votre message n'a pas pu être envoyé</center>";
}
</tt>
Afficher la suite 

3 réponses

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
0
Merci
Une recherche sur Google t'aurait donné ça :

http://www.renaissoft.com/pipermail/maia-users/2005-February/003561.html

ce qui voudrait peut-être dire que tu déclares du iso mais que tu envoies en réalité du utf8 ?
Commenter la réponse de Evangun
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008
0
Merci
Il faut que t'es une compatibilité de tous tes encodages:
-charset Apache (dans conf.d/charset sous linux)
-charset php (tu peux le définir dans php.ini)
-charset XML (lang)
-charset HTML
-charset d'enregistrement des fichiers =) (un logiciel comme gedit sous linux te permet de choisir UTF-8 ou <tt>ISO-8859-1/15</tt>

Personnelement j'ai tout mis en UTF-8 car php6 va être par défaut en UTF-8 mais tu peux tout mettre en occidental si tu le sens.

_Marikou
Commenter la réponse de kishkaya
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
0
Merci
Oui, et en attendant tu peux utiliser iconv( ) avant d'envoyer ton mail ;)
Commenter la réponse de Evangun