Page 1 sur 1

Encodage texte d'un message mail chez free

Posté : 25 avr. 2009, 04:03
par Morphée
Bona note,

J'ai un souci avec Free. Je reçois bien mon mail sur mes différentes boites de test mais chez free j'ai un problème d'encodage. J'utilise pourtant juste la fonction mail "bête et méchante" de php. Pourquoi ca marche partout sauf chez eux ? Comment remédier au souci ?

Morphée

Posté : 25 avr. 2009, 19:14
par Morphée
Bonjour,

Personne ne peut m'aider ? Je n'ai pas donné assez de précisions ?

Bien à vous.

Morphée

Posté : 25 avr. 2009, 20:12
par geoffroy
Tu as précisé un encodage particulier dans l'entête de ton message ?
...
$header.= "Content-Type: text/html; charset=utf-8 \n";
mail($to, $subject, $message, $header);

Posté : 26 avr. 2009, 23:56
par Morphée
Bonsoir et merci,

J'ai essayé plusieurs choses, avec headers, sans headers, différents charsets...

J'ai l'impression que chez free, rien n'y fait ou bien il me manque des éléments headers.

Je suis perdue.

Morphée

Posté : 27 avr. 2009, 00:24
par AB
Voici les entêtes que j'utilise chez free mais toutes ne sont pas indispensables

Code : Tout sélectionner

$headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\n"; $headers .= "From: $nom <$adresse>\n";//nom + adresse expéditeur $headers .= "X-Priority: 1\n"; $headers .= "X-Mailer: PHP/" . phpversion() . "\n"; $headers .= "Reply-To: $nom <$adresse>\n";// Adresse de retour (pour réponse) $headers .= "Return-Path: <$adresse>\n";

Et ça fonctionne sans pb avec la fonction mail()

Sinon peux-tu préciser tes pb d'encodage ?

Posté : 27 avr. 2009, 17:02
par Morphée
Bonjour et de nouveau merci de vous pencher sur mon problème.

des exemples :

là devient lÃ
ça devient ça
ê devient ê
é devient é

J'ai fait une simple page en utf-8 avec en début si le bouton envoyer est pressé je rejoue la page avec le déclenchement de la fonction mail de php. J'ai essayé de changer le format de ma page initiale, rien n'y fait...Some idea ?

Morphée

Posté : 27 avr. 2009, 18:07
par AB
Je viens de tester ma classe d'envoi de mail en utf-8 chez free. Le seul pb est dans le sujet (ou objet dans outlook) dans lesquels les caractères accentués ne passent pas.
Par contre dans le message lui-même, tout passe tel que j'ai envoyé. Par exemple je me suis envoyé et je viens de recevoir :
Test &é"'(-è_çà)=%: ? caractères accentués et utf8

Estetyka oferowanych klientom wkładów kominkowych znajduje się w centrum naszej uwagi

Мы всегда заботимся об эстетическом виде нашей продукции: улучшить обзор пламени
Tu dois avoir un problème quelque part dans tes entêtes utf8 (entêtes php ou d'envois de mail) cf http://www.phpfrance.com/forums/voir_sujet-245062.php

Posté : 28 avr. 2009, 16:32
par Morphée
Je vais faire le test en rentrant chez moi ce soir car j'ai déclaré mon envoi de mail au-dessus de toute ma partie html. C'est p'tet ca qui bloque même avec le fait de mettre un $header à utf8. Oui ? Non ?
Selon toi/vous ?

Morphée

Posté : 28 avr. 2009, 18:00
par AB
Il faut mettre
header('Content-Type: text/html; charset=UTF-8'); 
en haut de ta page php pour indiquer à apache de travailler en utf-8 (cf tuto mentionné plus haut)

Et il faut des header pour l'envoi de ton mail
...
$headers .= "Content-type: text/plain; charset=UTF-8\n";
$headers .= "Content-Transfer-Encoding: 8bit";
...
if(mail ($destinataire, $sujet, $message, $headers)) $message = 'message envoyé';