Bonjour,

Developpant un blog, je suis amené à utilisé un formulaire de contact sur celui-ci qui stockerai dans la base de donnée le mail (histoire d'avoir une trace) + enverrai à ma boîte mail.

Cependant j'ai un problème d'encodage uniquement dans le mail reçu sur la boîte, dans la bdd, c'est bien en UTF8, tout est niquel.
Donc je me dis que c'est forcément mon code, le truc c'est que par exemple, si je met un mail gmail, et que je l'ouvre avec le site gmail, l'encodage est niquel, si je l'ouvre avec Windows Live Mail, l'encodage bug SAUF si je paramètre manuellement l'encodage pour les messages reçu.

Mais y a des boîtes mails tels que la messagerie orange, ou Outlook, où ce n'est pas possible, et du coup ça pose toujours problème.

Si vous pouviez m'aider, merci !

$to      = 'maboite@encodage.Fr';
$subject =  '[Contact blog] '.$_POST['objet'];
$body = $_POST['message'];
/* La ligne ci dessous est la seule façon que j'ai pu trouver pour contourner les spams */
$headers = "From: {$_POST['name']} <noreply@encodage.fr> \r\n" .
        "Reply-To: {$_POST['name']} <{$_POST['email']}> \r\n" .
        'X-Mailer: PHP/' . phpversion();
/* Et ici, ce qui devrait marcher, j'ai du planter un truc :/ */
    $headers .='Content-Type: text/plain; charset="utf-8"'." ";
    $headers .='Content-Transfer-Encoding: 8bit';

mail($to, $subject, $body,$headers);

2 réponses


Genki
Auteur

Personne ? :/

Essaye d'enregister un mail reçu sous forme de fichier pour pouvoir l'analyser (Thunberbird le fait).
as-tu des CR LF à la fin de chaque ligne ? après la version de php ?