Balises html dans l'envoi de mail
Posté : 21 sept. 2014, 22:44
Bonjour,
J'utilise une fonction qui permet de faire modifier son mot de passe en cas d'oubli :
Et j'aimerais ajouter mon logo et améliorer le design du mail, mais si les balises s'affichent, ça va pas être possible
Pourtant je pense avoir rien oublié dans le script.
Merci pour votre aide
J'utilise une fonction qui permet de faire modifier son mot de passe en cas d'oubli :
function recover($recoverEmail){
$email = $_POST['recoverEmail'];
if(preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!",$email)){
if(!empty($_POST['recoverEmail'])){
$req = Bdd::connect() -> prepare('SELECT id, nom, prenom, email FROM users WHERE email = :email');
$req -> execute(array('email' => $email));
$donnees = $req -> fetch();
if(!$donnees){
echo '<span class="error">Aucun compte n\'est associé à cette email :<br />'.$email.'</span>';
} else {
$newPass = chaine(8);
$cryptPass = sha1($newPass);
$req1 = Bdd::connect()->prepare('UPDATE users SET mdp = :newPass WHERE email = :email');
$req1 -> execute(array('newPass' => $cryptPass,'email' => $email));
$req1 -> closeCursor();
if(preg_match('#@(hotmail|live|msn).[a-z]{2,4}$#', $email)){
$passage_ligne = "\n";
} else {
$passage_ligne = "\r\n";
}
$headers = 'From: Web Astronomie <[email protected]>'.$passage_ligne;
$headers .= 'Reply-to: Web Astronomie <[email protected]>'.$passage_ligne;
$headers .= 'MIME-Version: 1.0'.$passage_ligne;
$headers .= 'Content-Type: multipart/alternative;'.$passage_ligne;
$sujet = 'Modification du mot de passe de votre compte Web Astronomie';
$message .= 'Content-Type: text/html; charset=\'ISO-8859-1\''.$passage_ligne;
$message .= 'Content-Transfer-Encoding: 8bit'.$passage_ligne;
$message .= '<table>';
$message .= '<tr><td>Coucou <strong>Test</strong></td></tr>';
$message .= '</table>';
if(mail($email, $sujet, $message, $headers)){
echo '<span class="success">Un nouveau mot de passe viens de vous être envoyé</span>';
} else {
echo '<span class="error">Erreur lors de l\'envoie de votre mot de passe</span>';
}
}
$req -> closeCursor();
} else {
echo '<span class="error">Veuillez remplir au moins un champ</span>';
}
} else {
echo '<span class="error">Veuillez entrer une adresse électronique valide</span>';
}
}
Le problème c'est que dans l'email reçu, je reçois ça : Code : Tout sélectionner
Content-Type: text/html; charset='ISO-8859-1'
Content-Transfer-Encoding: 8bit
<table><tr><td>Coucou <strong>Test</strong></td></tr></table>Pourtant je pense avoir rien oublié dans le script.
Merci pour votre aide