Bonjour,
Voici un problème qui m'agace car tout va sauf dans le sujet.
J'envoie des mail avec la fonction mail().
C'est un plus poussé car je l'envoi en plain et html.
Voici déjà un début de code
Dans le corps de mon message tout s'affiche correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 <?php //----------------------------------------------- //DÉCLARE LES VARIABLES //----------------------------------------------- $site = "www.my-es.ch"; $from = "info@my.ch"; $nom = "My Hobb"; $to = "info@hello.net,".$to; $sujet = html_entity_decode('l'école); #$sujet = $sujet; $from = $nom." <".$from.">"; $message_plain = $message_plain; $message_htlm = $message_html; //----------------------------------------------- //GÉNÈRE LA FRONTIÈRE DU MAIL ENTRE TEXTE ET HTML //----------------------------------------------- $limite = "_----------=_parties_".md5(uniqid (rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $header = "Reply-to: ".$from."\n"; $header .= "From: ".$from."\n"; $header .= "X-Sender: <".$site.">\n"; $header .= "X-Mailer: PHP\n"; $header .= "X-auth-smtp-user: ".$from." \n"; $header .= "X-abuse-contact: ".$from." \n"; $header .= "Date: ".date("D, j M Y G:i:s O")."\n"; $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: multipart/alternative; boundary=\"".$limite."\""; //----------------------------------------------- //MESSAGE TEXTE //----------------------------------------------- $message_ = ""; $message_ .= "--".$limite."\n"; $message_ .= "Content-Type: text/plain\n"; # $message .= "charset=\"ISO-8859-1\"\n"; $message_ .= "charset=\"UTF-8\"\n"; $message_ .= "Content-Transfer-Encoding: 8bit\n\n"; $message_ .= $message_plain; //----------------------------------------------- //MESSAGE HTML //----------------------------------------------- $message_ .= "\n\n--".$limite."\n"; $message_ .= "Content-Type: text/html; "; $message_ .= "charset=\"UTF-8\"; "; $message_ .= "Content-Transfer-Encoding: 8bit;\n\n"; $message_ .= $message_html; $message_ .= "\n--".$limite."--"; //----------------------------------------------- //ENVOI //----------------------------------------------- if(mail($to, $sujet, $message_, $header)) echo ''; else echo 'échec envoi'; ?>
Sauf dans le sujet du mail, ca ne s'affiche pas correctement (les accents donc)
Notamment dans le client mail de mon HTC (android).
J'ai essayé ceci :
Je ne peux tester tous les clients mail, mais y a-t-il pas une fonction qui me permettrait d'être sur que les accents s'affiche correctement, dans le sujet, dans TOUS les clients mail, y compris les clients web?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $sujet = html_entity_decode('l'école); //(meilleurs solution) $sujet = utf8_decode('l'école); $sujet = utf8_encode('l'école);
Merci.
Partager