Problème avec l'envoie d'email en PHP

nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
Py_rex Messages postés 241 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors je vous explique mon problème , j'ai un script qui permet d'envoyer à un utilisateur un nouveau mot de passe si il a perdu le sien. L'envoie ce déroule très bien, je recoit bien le mail, le problème c'est lors de l'affichage que sa pose problème.

En effet voila se que je reçoit tel quel :

<span id=mot_de_pass_lost_message_part1>Ceci est un courrier électronique automatique provenant des .........</span>

<span id=mot_de_pass_lost_message_part2>Voici les informations vous concernant:</>

- <span id=mot_de_pass_lost_message_part3>Login</span>: $pseudo
- <span id=mot_de_pass_lost_message_part4>mot de passe</span>: $mdp

<span id=mot_de_pass_lost_message_part5>A bientôt sur les ............</span>

Voici mon script d'envoie du mail, j'espère que quelqu'un pourra m'aider.

<div id="corps">
<?php

$mail=mysql_real_escape_string(htmlspecialchars($_POST['mail']));
$pseudo=mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));

$verification = mysql_query("SELECT COUNT(*) FROM client WHERE pseudo='$pseudo' AND email='$mail'");
$donnees = mysql_fetch_array($verification);
if($donnees['COUNT(*)'] >= 1)
{
$mdp=GenPass(8);

$mdp_tmp=$mdp;
$pseudo_tmp=$pseudo;
$concat=$pseudo_tmp.":".$mdp_tmp;
$mdp_crypt=SHA1($concat);
mysql_query("UPDATE client SET password = '$mdp_crypt' WHERE Pseudo='$pseudo'");

$mail_admin = "shakapouet@gmail.com";
//ENVOI D'UN MAIL ACCUSANT RECEPTION DE L'INSCRIPTION
//voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//ici on détermine le mail en format text
$headers = "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers = "From: Administrateur <$mail_admin>\r\nBcc: $mail_admin\r\nReply-to : $mail_admin\nX-Mailer:PHP";

$subject = '<span id=mot_de_pass_lost_subject>'.utf8_decode(findLocale ($_SESSION["locale"], "my_message_sujet")).'</Span>';
$message = '<span id=mot_de_pass_lost_message_part1>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part1")).'</span>

<span id=mot_de_pass_lost_message_part2>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part2")).'</>

- <span id=mot_de_pass_lost_message_part3>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part3")).'</span>: $pseudo
- <span id=mot_de_pass_lost_message_part4>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part4")).'</span>: $mdp

<span id=mot_de_pass_lost_message_part5>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part5")).'</span>';


$destinataire=$mail;

if (mail($destinataire,$subject,$message,$headers))
{
echo'<span id=mot_de_pass_lost_succes>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_succes")).'</span>';
?>
<SCRIPT LANGUAGE='Javascript'>
window.location.replace("../invite/accueil_invite.php");
</SCRIPT>
<?php

} else {
echo'<span id=mot_de_pass_lost_probleme1>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_probleme1")).'</span>';
?>
<SCRIPT LANGUAGE='Javascript'>
window.location.replace("../page/mot_de_pass.php");
</SCRIPT><?php

}
}
else
{
echo'<span id=mot_de_pass_lost_probleme2>'.utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_probleme2")).'</span>';
?>
<SCRIPT LANGUAGE='Javascript'>
window.location.replace("../page/mot_de_pass.php");
</SCRIPT>
<?php
}
?>
</div>

Merci
A voir également:

3 réponses

jambondardennes Messages postés 482 Date d'inscription   Statut Membre Dernière intervention   39
 
fais :
$subject = "ENLEVEZ LES QUOTES ' ou " à l'intérieur";

Personnellement de cette facon aucun souci d'affichage :)
0
nyeri Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
Dsl de pas avoir répondue plutôt. Donc j'ai essayé d'enlever les ' , sa me donne cecei :

$subject='<spanid=mot_de_pass_lost_subject>utf8_decode(findLocale($_SESSION["locale"],"my_message_sujet"))</span>';
$message = '<span id=mot_de_pass_lost_message_part1>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part1"))</span>

<span id=mot_de_pass_lost_message_part2>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part2"))</span>

- <span id=mot_de_pass_lost_message_part3>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part3"))</span>: "$pseudo"
- <span id=mot_de_pass_lost_message_part4>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part4"))</span>: "$mdp"

<span id=mot_de_pass_lost_message_part5>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part5))</span>';


Et j'obtiens toujours sa :

<span id=mot_de_pass_lost_message_part1>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part1"))</span>

<span id=mot_de_pass_lost_message_part2>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part2"))</span>

- <span id=mot_de_pass_lost_message_part3>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part3"))</span>: "$pseudo"
- <span id=mot_de_pass_lost_message_part4>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part4"))</span>: "$mdp"

<span id=mot_de_pass_lost_message_part5>utf8_decode(findLocale ($_SESSION["locale"], "mot_de_pass_lost_message_part5))</span>

Il faut savoir que le texte que j'affiche provient d'une fonction PHP qui elle même va chercher le texte dans un fichier XML. Je c'est pas si sa change quelque chose.

Merci
0
Py_rex Messages postés 241 Date d'inscription   Statut Membre Dernière intervention   52
 
Bonjour,

très normal ce que vous recevez, puisque vous déclarez Content-type: text/plain ; alors, comment ce pauvre mail peut-il savoir qu'il s'agit d'un courrier en HTML ? Faites une petite recherche sur Content-type ou envoyez simplement un message texte.
0