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 :
tout fonctionne correctement excepté si le destinataire a une adresse mail comportant le caractère souligné
Code : Sélectionner tout - Visualiser dans une fenêtre à part AddDefaultCharset utf-8
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 :
et la fonction mail :
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");
Existe t-il une solution ? (un paramètre php à changer chez free par exemple ?)
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; } }
Partager