| | [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? | |
|
|
| Auteur | Message |
|---|
Hunta_de_la_Radieuse Frénétik Nabaztrice


Age: 37 Localisation: Anse Lapin Nom du Nabaztag: Hunta (v2) Nbr de messages: 3955 Points: 2028
 | Sujet: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 17:45 | |
| Hello tous !  Je m'arrache les cheveux ! : impossible de faire lire par ma Nabaztagette, par exemple, le sujet de mail envoyé par un script PHP s'il contient des accents ou des des caractères latins(?) : ç, ô, é, etc. ne passent pas... Aucun souci, en revanche lorsqu'il n'y a pas d'accent ou de caractère latin : le message est bien lu... J'ai tenté de tripatouiller les headers du script (content type et charset) et ceux du mail lui même avec des utf-8, iso-8859-1, plain, html, print quoted... Mais, il semblerait qu'il y ait plus de chances de gagner à la loterie que de trouver la solution à ce problème en utilisant le seul hasard... C'est donc courbée - presque à l'horizontale - que je viens implorer votre généreuse participation ! 
Dernière édition par Hunta_de_la_Radieuse le Jeu 5 Fév 2009 - 12:30, édité 3 fois |
|
 | |
GrosBill Gold Nabz


Localisation: Paris Nom du Nabaztag: Kikiztag Nbr de messages: 629 Points: 2322
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 18:31 | |
| bah euh pour une fois je seche aussi. |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 19:13 | |
| Il n'y a pas euh de changement... Il faut urlencoder de l'utf8
Par exemple 'élève' http://api.nabaztag.com/vl/FR/api.jsp?sn=00135EE2&token=116840126&tts=%C3%A9l%C3%A8ve _____________________________
|
|
 | |
Hunta_de_la_Radieuse Frénétik Nabaztrice


Age: 37 Localisation: Anse Lapin Nom du Nabaztag: Hunta (v2) Nbr de messages: 3955 Points: 2028
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 19:47 | |
| Si je comprends bien ce que tu me dis, dans le script ça donne - par exemple : | Code: | <?php if(isset($_GET['to'])) { $to = $_GET['to'];
//$to = "zzz@things.violet.net"; $subject = urlencode(utf8_encode("élève")); $message = ""; $additional_headers = 'From: xxx@yyy.com' . "\r\n" . 'Reply-To: xxx@yyy.com' . "\r\n" . 'Return-Path: <xxx@yyy.com>' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); echo "Envoi à " . $to . ". Message : " . $subject; mail ($to, $subject,$message, $additional_headers); } else { echo "Pas de 'to=', pas d'envoi..."; } ?> |
Mais, dans ce cas, la voix prononce vraiment "%C3%A9l%C3%A8ve" !
 |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 19:52 | |
| Oooopppsss... J'avais pas vu... Désolé... c'est dans un mail... désolé... Pô lu ! Je vais rechercher un peu... _____________________________
|
|
 | |
GrosBill Gold Nabz


Localisation: Paris Nom du Nabaztag: Kikiztag Nbr de messages: 629 Points: 2322
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 19:56 | |
| [Edit] Arrivage apres la guerre..
l'urlencodage de l'utf8 d'utf8 marche pour un appel de tts dans une url mais dans le cas de la fonction mail de php
mail($to, urlencode(utf8_encode($subject)), $message, $headers);
donne ceci %C3%A9%C3%A9%C3%A9+%C3%A8%C3%A8%C3%A8%C3%A8+ohoh avec comme sujet "ééé èèèè ohoh"
donc je pense pas que le urlencode soit utile pour le sujet d'un mail. |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 20:07 | |
| Normalement le charset pour le français est iso-8859-1 l'utf8 est préférable.. Mais bon c'est uniquement pour le corps du message Pour le sujet.. | Citation: | subject Sujet du mail à envoyer. Attention Sujet doit satisfaire à la » RFC 2047. |
---> http://www.faqs.org/rfcs/rfc2047 Pour l'encodage... je cherche ! _____________________________
|
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 20:13 | |
| | Citation: | The "Subject" field can be encoded as MIME header (see RFC 2045-2048). For example, given the subject $subj encoded as a UTF-8 string, a possible encoding might be
define("ENCODING", "UTF-8");
$header = "Subject: =?" . ENCODING . "?B?" . base64_encode($subj) . "?=\r\n";
Note that the RFC 2047 sets a limit to the maximum lenght of the resulting string. Beyond that limit the string must be splitted somewere. However, the email clients I tested are able to accept a string of any length, so this is a problem you may ignore as a first step of the implementation.
And note that this encoding has nothing to do with the Content-Type field or the body of the message.
Obviously, your "Unicode entities" must be converted to regular UTF-8 characters before the Base64 encoding be applied.
|
_____________________________
|
|
 | |
Hunta_de_la_Radieuse Frénétik Nabaztrice


Age: 37 Localisation: Anse Lapin Nom du Nabaztag: Hunta (v2) Nbr de messages: 3955 Points: 2028
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 20:47 | |
| Si j'ai bien compris, on l'utilise comme ce ci :  | Code: | <?php $to = "zzz@things.violet.net"; $subj = "été indien."; $message = ""; $additional_headers = 'From: xxx@yyy.com' . "\r\n" . 'Reply-To: xxx@yyy.com' . "\r\n" . 'Return-Path: <xxx@yyy.com>' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); echo "Envoi à " . $to . ". Message : " . $subj; define("ENCODING", "UTF-8");
$subject .= "Subject: =?" . ENCODING . "?B?" . base64_encode($subj) . "?=\r\n"; mail ($to, $subj, $message, $additional_headers); echo "header : " . $additional_headers; ?> |
Mais, le mail n'arrive pas... Quand on l'envoie au lapin (le même sans accent arrive, lui et est lu...)
 |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 20:54 | |
| comme ça ? Paske là tu mix headers, $subj, $subject... | Code: | <?php $to = "zzz@things.violet.net"; $subj = "été indien."; $message = ""; $additional_headers = 'From: xxx@yyy.com' . "\r\n" . 'Reply-To: xxx@yyy.com' . "\r\n" . 'Return-Path: <xxx@yyy.com>' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); echo "Envoi à " . $to . ". Message : " . $subj; $subj = base64_encode(utf8_encode(($subj)); mail ($to, $subj, $message, $additional_headers); echo "header : " . $additional_headers; ?>
|
_____________________________
|
|
 | |
Hunta_de_la_Radieuse Frénétik Nabaztrice


Age: 37 Localisation: Anse Lapin Nom du Nabaztag: Hunta (v2) Nbr de messages: 3955 Points: 2028
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 21:04 | |
| | Code: | <?php $to = "zzz@things.violet.net"; $subj = "été indien."; $message = ""; $additional_headers = 'From: xxx@yyy.com' . "\r\n" . 'Reply-To: xxx@yyy.com' . "\r\n" . 'Return-Path: <xxx@yyy.com>' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); echo "Envoi à " . $to . ". Message : " . $subj; $subj = base64_encode(utf8_encode(($subj))); mail ($to, $subj, $message, $additional_headers); echo "header : " . $additional_headers; ?>
|
Donne la lecture de "w4PCqXTDg8KpIGluZGllbi4="  |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 21:06 | |
| _____________________________
|
|
 | |
Hunta_de_la_Radieuse Frénétik Nabaztrice


Age: 37 Localisation: Anse Lapin Nom du Nabaztag: Hunta (v2) Nbr de messages: 3955 Points: 2028
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 21:06 | |
| EDIT : On n'est loin en tout cas on dirait !  Et, dans ta première citation, c'est bien les headers qui sont mis à contribution on dirait !  On devrait peut-être continuer en chat ou MP ?
Dernière édition par Hunta_de_la_Radieuse le Mar 3 Fév 2009 - 21:10, édité 1 fois |
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 21:07 | |
| et comme ça ? | Code: | $subj = base64_encode($subj); |
_____________________________
|
|
 | |
nabazland Karotzeur taquin

Age: 45 Localisation: Rouen - France Nom du Nabaztag: Caulfield (v2.1) Nbr de messages: 9839 Points: 4330
 | Sujet: Re: [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? Mar 3 Fév 2009 - 21:08 | |
| mouep, le sujet est mis dans le header dans l'exemple.... _____________________________
|
|
 | |
| | [RESOLU] Comment envoyer, aux objets et avec PHP, un mail contenant des accents dans le sujet ? | |
|