Bonjour,
j'utilise la fonction mail php chez mon hébergeur free
je suis encodé en UTF-8
j'ai laissé le php en V4 chez free mais je suis en V5 sur mon serveur local
j'ai rajouté dans le htaccess au cas ou un :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
AddDefaultCharset utf-8
tout fonctionne correctement excepté si le destinataire a une adresse mail comportant le caractère souligné
je sais bien que free interdit ce caractère si on créé 1 compte chez lui mais on doit bien pouvoir lui demander d'envoyer 1 mail à 1 tel destinataire

si je fais l'essai à partir de outlook express ça fonctionne correctement
idem si je fais l'essai avec mon appli et mon serveur local apache
voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Envoi fiche de club</title>
 
 
//adresse du destinataire écrit en dur pour essai :
$adresse=("ph_toto@hotmail.com");
et la fonction mail :
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
<?php function  envoimail($destinataire,$objetmessage,$corpmessage,$emetteur,$emailorigine,$emailreply,$emailcopiecachee,$emailcopie,$mailok,$mailnok)
//$destinataire=destinataires du mail
//$objetmessage=objet du message
//$corpmessage=contenu du message
//$emetteur=nom de l'émetteur de la demande d'envoi du mail
//$emailorigine= mail de l'émetteur de la demande d'envoi du mail
//$emailreply=adresse de réponse
//$emailcopiecachee=adresse mail de la copie cachée
//$emailcopie=adresse mail de la copie
//on renvoi $rmail = $mailok ou $mailnok
 
{
//respecter l'ordre :
$entete='FROM: "'.$emetteur.'"<'.$emailorigine.'>'."\n"; 
$entete.='Reply-To:'.$emailreply."\n";
$entete.='cc: '.$emailcopie."\n";
$entete.='Bcc: '.$emailcopiecachee."\n";
$entete.='Content-Type: text/html; charset="UTF-8'."\n";
$entete.='Content-Transfert-Encoding: 8bits';
$entete.='MIME-Version: 1.0\n'."\n\n"; 	
 
 
//mail : envoi
if (mail($destinataire,$objetmessage,$corpmessage,$entete)){
	return $mailok; 
} else {
	return $mailnok; 
}
}
Existe t-il une solution ? (un paramètre php à changer chez free par exemple ?)