Bonjour,
Voila je rencontre un petit problème avec mon code.
if(isset($_POST['mail']) ){
$email = $_POST['mail'];
$enn = $bdd ->prepare('SELECT mail,pseudo FROM inscr WHERE mail = "'.$email.'" ');
$enn->execute();
$en = $enn-> fetch();
$adressedestinataire=$en['mail'];
$inu = $en['pseudo'];
$passage_ligne = "\n";
$from = "Monsite@noreply.net";
$to = "$adressedestinataire";
$subject = "Monsite identifiants perdus";
$message = "Vous avez fait une demande pour retrouver vos identifiants :$passage_ligne$passage_ligne$passage_ligne
Votre Pseudo $inu $passage_ligne $passage_ligne $passage_ligne
Suivez ce lien lelien.php pour réinitialiser votre mot de passe . $passage_ligne$passage_ligne Vous pouvez vous connecter à votre espace membres à partir de la page suivante : lien.php $passage_ligne$passage_ligne Merci et à très bientôt.$passage_ligne$passage_ligne$passage_ligne ( Si vous n'êtes pas à l'origine de cette demande; ignorez ce mail. )";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo '<span style="color:blue;" ><b>Un mail vous a été envoyé !</br> Pensez à regarder vos spams.</b></span> ';
}
Ai-je commis une erreur ? car je ne reçois aucun mail bien que aucun message d'erreur n'apparaisse.
Salut,
Plusieurs trucs :
Vérifier que POST['mail'] est bien défini (sinon ton code se s'exécutera pas)
Afficher le contenu de $adressedestinataire ... voir si ta requête se passe bien et que tu as bien une valeur
Pour le reste, cela me semble bon donc si ces 2 points sont ok alors on creusera plus !!
je vais tester le contenu de $adressedestinataire :) pour POST['mail'] oui il est défini sinon le echo n'apparaitrait pas
Edit: j'ai testé et la variable contient bien le mail à envoyer.
Tu n'avais pas précisé que ton echo s'affiché ;)
et ta fonction mail() fonctionne ??? si tu fais mail("adresse@domaine.com", "sujet", "message"), ton mail est envoyé ??
comment je fais pour savoir ça ?
Edit:
if( mail($to,$subject,$message, $headers)){
echo "le mail à été envoyé";
}else{
echo "le mail n'a pas été envoyé";
}
echo '<span style="color:blue;" ><b>Un mail vous a été envoyé !</br> Pensez à regarder vos spams.</b></span> ';
}
Affiche :le mail à été envoyéUn mail vous a été envoyé !
Pensez à regarder vos spams.
Bonjour,
Pense à bien préparer ta requêtes aussi car la, bonjour les injections sql (sécurité)
De plus, il bien de lire la doc php sur le "headers" dans la fonction mail car ici, elle est incomplète.
Si local : as-tu renseigner le smtp dans le fichier php.ini ?
Si en ligne : que dises les logs ?
d'accord je vais revoir headers
je test en local et j'ai renseigné le smtp dans le fichier php.ini
j'ai rajouté :
$encoding = "utf-8";
$header = "Content-type: text/html; charset=".$encoding." \r\n";
$header .="From:" . $from;
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-Transfer-Encoding: 8bit \r\n";
Pour les deux derniers header J'avoue ne pas trop comprendre ce que ça veut dire ni ce que ça apporte mais bon .