Mail transmis depuis si avec problème accents
Pernelle96
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
marocoption Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
marocoption Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un site avec un formulaire et les information me sont transmise sur mon adresse mail. Mais je rencontre le problème suivant:
Tous le caractères accentués sont remplacés par un petit losange qui contient un point d'interrogation.
ma page est en html et en php.
Merci
J'ai un site avec un formulaire et les information me sont transmise sur mon adresse mail. Mais je rencontre le problème suivant:
Tous le caractères accentués sont remplacés par un petit losange qui contient un point d'interrogation.
ma page est en html et en php.
Merci
A voir également:
- Mail transmis depuis si avec problème accents
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Créer une adresse mail hotmail - Guide
- Comment télécharger un mail - Guide
- Cegetel mail ✓ - Forum Mail
15 réponses
Salut,
Utilise la fonction : htmlentities($contenu_a_envoyer,ENT_QUOTES,'UTF-8') juste avant d'envoyer le mail.
Utilise la fonction : htmlentities($contenu_a_envoyer,ENT_QUOTES,'UTF-8') juste avant d'envoyer le mail.
Voilà mon php concernant mon formulaire. SVP place-moi la fontion.
J'ai souci de faire une bêtise et qu'ensuite plus rien ne fonctionne. Merci!
<?php
$statSentMsg="";
if(isset($_POST['Envoyer'])){
// Destination de message
$mailDestinataire = "adresse@blabla.com";
// Titre du message
$msgTitre = "Reservation chambre Pernelle";
// Suppression des balises html ou scripts malveillants
while(list($indice,$valeur)=each($_POST)){
${$indice}=strip_tags(trim($valeur));
}
// Création du message
$msgTexte="Reservation chambre Pernelle\n";
$msgTexte .= "Civilite : ".$Civilite."\n";
$msgTexte .= "Nom : ".$nom."\n";
$msgTexte .= "Prénom : ".$prenom."\n";
$msgTexte .= "Adresse : ".$adresse."\n";
$msgTexte .= "No.Postal : ".$nopostal."\n";
$msgTexte .= "Ville : ".$ville."\n";
$msgTexte .= "Téléfone : ".$telefone."\n";
$msgTexte .= "Email : ".$email."\n";
$msgTexte .= "Pays : ".$pays."\n";
$msgTexte .= "Date arrivée : ".$datearrivee."\n";
$msgTexte .= "Nbr nuits : ".$nbrenuits."\n";
$msgTexte .= "Nbr Personnes : ".$nbrePersonnes."\n";
$msgTexte .= "Commentaire : ".$commentaire."\n";
// Creation des entêtes
$headers ='From: "Chambre Pernelle"<'.$email.'>'."\n";
$headers .='Reply-To: '.$email."\n";
$headers .='Content-Type: text/plain; charset="utf-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
// Envoi du message
if(mail($mailDestinataire, $msgTitre, stripslashes($msgTexte), $headers)) {
$statSentMsg="ok";
}else{
$statSentMsg="error";
}
}
?>
<?php if($statSentMsg=="ok"){ ?>
J'ai souci de faire une bêtise et qu'ensuite plus rien ne fonctionne. Merci!
<?php
$statSentMsg="";
if(isset($_POST['Envoyer'])){
// Destination de message
$mailDestinataire = "adresse@blabla.com";
// Titre du message
$msgTitre = "Reservation chambre Pernelle";
// Suppression des balises html ou scripts malveillants
while(list($indice,$valeur)=each($_POST)){
${$indice}=strip_tags(trim($valeur));
}
// Création du message
$msgTexte="Reservation chambre Pernelle\n";
$msgTexte .= "Civilite : ".$Civilite."\n";
$msgTexte .= "Nom : ".$nom."\n";
$msgTexte .= "Prénom : ".$prenom."\n";
$msgTexte .= "Adresse : ".$adresse."\n";
$msgTexte .= "No.Postal : ".$nopostal."\n";
$msgTexte .= "Ville : ".$ville."\n";
$msgTexte .= "Téléfone : ".$telefone."\n";
$msgTexte .= "Email : ".$email."\n";
$msgTexte .= "Pays : ".$pays."\n";
$msgTexte .= "Date arrivée : ".$datearrivee."\n";
$msgTexte .= "Nbr nuits : ".$nbrenuits."\n";
$msgTexte .= "Nbr Personnes : ".$nbrePersonnes."\n";
$msgTexte .= "Commentaire : ".$commentaire."\n";
// Creation des entêtes
$headers ='From: "Chambre Pernelle"<'.$email.'>'."\n";
$headers .='Reply-To: '.$email."\n";
$headers .='Content-Type: text/plain; charset="utf-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
// Envoi du message
if(mail($mailDestinataire, $msgTitre, stripslashes($msgTexte), $headers)) {
$statSentMsg="ok";
}else{
$statSentMsg="error";
}
}
?>
<?php if($statSentMsg=="ok"){ ?>
Ok, voici le code complet:
<?php $statSentMsg=""; if(isset($_POST['Envoyer'])){ // Destination de message $mailDestinataire = "adresse@blabla.com"; // Titre du message $msgTitre = "Reservation chambre Pernelle"; // Suppression des balises html ou scripts malveillants while(list($indice,$valeur)=each($_POST)){ ${$indice}=strip_tags(trim($valeur)); } // Création du message $msgTexte="Reservation chambre Pernelle\n"; $msgTexte .= "Civilite : ".$Civilite."\n"; $msgTexte .= "Nom : ".$nom."\n"; $msgTexte .= "Prénom : ".$prenom."\n"; $msgTexte .= "Adresse : ".$adresse."\n"; $msgTexte .= "No.Postal : ".$nopostal."\n"; $msgTexte .= "Ville : ".$ville."\n"; $msgTexte .= "Téléfone : ".$telefone."\n"; $msgTexte .= "Email : ".$email."\n"; $msgTexte .= "Pays : ".$pays."\n"; $msgTexte .= "Date arrivée : ".$datearrivee."\n"; $msgTexte .= "Nbr nuits : ".$nbrenuits."\n"; $msgTexte .= "Nbr Personnes : ".$nbrePersonnes."\n"; $msgTexte .= "Commentaire : ".$commentaire."\n"; // Creation des entêtes $headers ='From: "Chambre Pernelle"<'.$email.'>'."\n"; $headers .='Reply-To: '.$email."\n"; $headers .='Content-Type: text/plain; charset="utf-8"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; //Formatage du contenu $msgTexte = stripslashes($msgTexte); $msgTexte = htmlentities($msgTexte,ENT_QUOTES,'UTF-8'); // Envoi du message if(mail($mailDestinataire, $msgTitre, $msgTexte, $headers)) { $statSentMsg="ok"; }else{ $statSentMsg="error"; } } ?> <?php if($statSentMsg=="ok"){ ?>
Voilà le résultat après la correction. Il y a bien un changement mais pas beaucoup mieux pour la lecture.
Merci encore de ton aide.
Reservation chambre Pernelle
Civilite : Mr
Nom :Blasblabla
Prénom : Paul ------------------ (au lieu de Prénom)
Adresse : Route d'Agiez 4 -------------(au lieu de Route d'Agiez)
No.Postal : 1329
Ville : Bretonnières ----------------(au lieu de Bretonnières)
Téléfone : 024-122145 ---------------(au lieu de téléphone)
Email : adresse@blabla.com
Pays : Suisse
Date arrivée : 12.12.2011 ------------------- (au lieu de Date arrivée)
Nbr nuits : 2
Nbr Personnes : 2 personnes
Commentaire : Salut
Merci encore de ton aide.
Reservation chambre Pernelle
Civilite : Mr
Nom :Blasblabla
Prénom : Paul ------------------ (au lieu de Prénom)
Adresse : Route d'Agiez 4 -------------(au lieu de Route d'Agiez)
No.Postal : 1329
Ville : Bretonnières ----------------(au lieu de Bretonnières)
Téléfone : 024-122145 ---------------(au lieu de téléphone)
Email : adresse@blabla.com
Pays : Suisse
Date arrivée : 12.12.2011 ------------------- (au lieu de Date arrivée)
Nbr nuits : 2
Nbr Personnes : 2 personnes
Commentaire : Salut
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui c'est justement le but de la fonction...
Le problème est donc dans le fait qu'il faut envoyer ton mail au format html. Pour cela il faut changer le Content-Type: text/plain; en Content-Type: text/html;
Je sais plus si l'on doit changer autre chose suite à cela mis à part changer les \n en <br />
Le problème est donc dans le fait qu'il faut envoyer ton mail au format html. Pour cela il faut changer le Content-Type: text/plain; en Content-Type: text/html;
Je sais plus si l'on doit changer autre chose suite à cela mis à part changer les \n en <br />
Ok! ça marge maintenant pour les accents.
Par contre tout est est écrit en ligne et non l'un sous l'autre.
Il faudrait donc changer comme ceci chaque $msgTexte
par exemple:
$msgTexte="Reservation chambre Pernelle\n";
par:
$msgTexte="Reservation chambre Pernelle<br />";
Par contre tout est est écrit en ligne et non l'un sous l'autre.
Il faudrait donc changer comme ceci chaque $msgTexte
par exemple:
$msgTexte="Reservation chambre Pernelle\n";
par:
$msgTexte="Reservation chambre Pernelle<br />";
Tout à fait :)
Quand on veut on peut ! Ou pas ...
<?php $statSentMsg=""; if(isset($_POST['Envoyer'])){ // Destination de message $mailDestinataire = "adresse@blabla.com"; // Titre du message $msgTitre = "Reservation chambre Pernelle"; // Suppression des balises html ou scripts malveillants while(list($indice,$valeur)=each($_POST)){ ${$indice}=strip_tags(trim($valeur)); } // Création du message $msgTexte="Reservation chambre Pernelle<br />"; $msgTexte .= "Civilite : ".$Civilite."<br />"; $msgTexte .= "Nom : ".$nom."<br />"; $msgTexte .= "Prénom : ".$prenom."<br />"; $msgTexte .= "Adresse : ".$adresse."<br />"; $msgTexte .= "No.Postal : ".$nopostal."<br />"; $msgTexte .= "Ville : ".$ville."<br />"; $msgTexte .= "Téléphone : ".$telefone."<br />"; $msgTexte .= "Email : ".$email."<br />"; $msgTexte .= "Pays : ".$pays."<br />"; $msgTexte .= "Date arrivée : ".$datearrivee."<br />"; $msgTexte .= "Nbr nuits : ".$nbrenuits."<br />"; $msgTexte .= "Nbr Personnes : ".$nbrePersonnes."<br />"; $msgTexte .= "Commentaire : ".$commentaire."<br />"; // Creation des entêtes $headers ='From: "Chambre Pernelle"<'.$email.'>'."<br />"; $headers .='Reply-To: '.$email."<br />"; $headers .='Content-Type: text/html; charset="utf-8"'."<br />"; $headers .='Content-Transfer-Encoding: 8bit'; //Formatage du contenu $msgTexte = stripslashes($msgTexte); $msgTexte = htmlentities($msgTexte,ENT_QUOTES,'UTF-8'); // Envoi du message if(mail($mailDestinataire, $msgTitre, $msgTexte, $headers)) { $statSentMsg="ok"; }else{ $statSentMsg="error"; } } ?> <?php if($statSentMsg=="ok"){ ?>
Quand on veut on peut ! Ou pas ...
Bonjour!
J'ai bien placer "<br />" mais le formulaire génère une erreur et ne part pas. J'ai donc mis à nouveau les "\n" et tout fonctionne, mis à part les informations paraissent à la suite les unes des autres plutôt que les unes sous les autres, donc plus difficile à lire.
J'ai bien placer "<br />" mais le formulaire génère une erreur et ne part pas. J'ai donc mis à nouveau les "\n" et tout fonctionne, mis à part les informations paraissent à la suite les unes des autres plutôt que les unes sous les autres, donc plus difficile à lire.
Bonsoir!
Je relance le débat, car je pense que la solution est très proche. Merci pour ce dernier effort.
Je relance le débat, car je pense que la solution est très proche. Merci pour ce dernier effort.
Bonsoir,
Tu as bien vérifié que le Content-Type: text/html ?
Ensuite tu avais une faute d'ortographe à Téléphone (C'est juste un détail).
Sinon je me suis trompé pour l'entête il ne faut pas mettre des <br /> :)
Voici le code au complet j'espère :
Quand on veut on peut ! Ou pas ...
Tu as bien vérifié que le Content-Type: text/html ?
Ensuite tu avais une faute d'ortographe à Téléphone (C'est juste un détail).
Sinon je me suis trompé pour l'entête il ne faut pas mettre des <br /> :)
Voici le code au complet j'espère :
<?php $statSentMsg=""; if(isset($_POST['Envoyer'])){ // Destination de message $mailDestinataire = "adresse@blabla.com"; // Titre du message $msgTitre = "Reservation chambre Pernelle"; // Suppression des balises html ou scripts malveillants while(list($indice,$valeur)=each($_POST)){ ${$indice}=strip_tags(trim($valeur)); } // Création du message $msgTexte="Reservation chambre Pernelle<br />"; $msgTexte .= "Civilite : ".$Civilite."<br />"; $msgTexte .= "Nom : ".$nom."<br />"; $msgTexte .= "Prénom : ".$prenom."<br />"; $msgTexte .= "Adresse : ".$adresse."<br />"; $msgTexte .= "No.Postal : ".$nopostal."<br />"; $msgTexte .= "Ville : ".$ville."<br />"; $msgTexte .= "Téléphone : ".$telefone."<br />"; $msgTexte .= "Email : ".$email."<br />"; $msgTexte .= "Pays : ".$pays."<br />"; $msgTexte .= "Date arrivée : ".$datearrivee."<br />"; $msgTexte .= "Nbr nuits : ".$nbrenuits."<br />"; $msgTexte .= "Nbr Personnes : ".$nbrePersonnes."<br />"; $msgTexte .= "Commentaire : ".$commentaire."<br />"; // Creation des entêtes $headers ='From: "Chambre Pernelle"<'.$email.'>'."\n"; $headers .='Reply-To: '.$email."\n"; $headers .='Content-Type: text/html; charset="utf-8"'."\n"; $headers .='Content-Transfer-Encoding: 8bit'; //Formatage du contenu $msgTexte = stripslashes($msgTexte); $msgTexte = htmlentities($msgTexte,ENT_QUOTES,'UTF-8'); // Envoi du message if(mail($mailDestinataire, $msgTitre, $msgTexte, $headers)) { $statSentMsg="ok"; }else{ $statSentMsg="error"; } } ?> <?php if($statSentMsg=="ok"){ ?>
Quand on veut on peut ! Ou pas ...
maintenant l'envoi se passe bien, mais le mail que je reçois et comme ça:
Reservation chambre Pernelle<br />Civilite : Mme<br />Nom : Savoy<br />Prénom : Josette<br />Adresse : Route d'Agiez 4<br />No.Postal : 1329<br />Ville : Bretonnières<br />Téléphone : 024-4531590<br />Email : josavoy@1329.ch<br />Pays : Suisse<br />Date arrivée : 12.12.2011<br />Nbr nuits : 2<br />Nbr Personnes : 2 personnes<br />Commentaire : asd<br />
Reservation chambre Pernelle<br />Civilite : Mme<br />Nom : Savoy<br />Prénom : Josette<br />Adresse : Route d'Agiez 4<br />No.Postal : 1329<br />Ville : Bretonnières<br />Téléphone : 024-4531590<br />Email : josavoy@1329.ch<br />Pays : Suisse<br />Date arrivée : 12.12.2011<br />Nbr nuits : 2<br />Nbr Personnes : 2 personnes<br />Commentaire : asd<br />
Essaye avec br2nl()
Sa devrai remplacer tout les <br> & <br /> par une nouvelle ligne
... br2nl = br to new line
exemple :
if(mail($mailDestinataire, $msgTitre, br2nl($msgTexte), $headers)) {
.........
........
.......
Mon Site Internet : http://www.hesatuto.tk
ma chaine youtube : https://www.youtube.com/user/HesaTuto
Sa devrai remplacer tout les <br> & <br /> par une nouvelle ligne
... br2nl = br to new line
exemple :
if(mail($mailDestinataire, $msgTitre, br2nl($msgTexte), $headers)) {
.........
........
.......
Mon Site Internet : http://www.hesatuto.tk
ma chaine youtube : https://www.youtube.com/user/HesaTuto