Bonjour,
Je souhaiterai envoyé un mail de récupération de mot de passe via un formulaire PHP.
Cependant, l'envoi de mail ne s'effectue pas. Faut-il installer des packages spécifiques ? J'utilise la fonction d'envoi de mail basique de php :
- http://www.w3schools.com/php/php_mail.asp
Voici le code si ça peut aider :
Je suis allé voir dans les logs et j'ai cette erreur :
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
30
31
32
33
34 if (isset($_POST['send'], $_POST['email'])) { print "TEST\n"; $mdp = genererMDP(8); $nbRows = $bdd->query('SELECT count(*) FROM config_users WHERE email ="' . $_POST['email'] .'" ')->fetchColumn(); if ($nbRows == 1 && preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])) { $sql = 'UPDATE config_users SET password = "' . $mdp . '" WHERE email ="' . $_POST['email'] .'" '; $q = $bdd->prepare($sql); $q->execute(array($mdp, $_POST['email'])); $to = $_POST['email']; $sujet = "Récupération de mot de passe"; $corps = "Bonjour, \n\r\n\r Voici un mot de passe temporaire qu'il vous faudra changer dans les plus brefs délais !\n\r\n\r Mot de passe : $mdp.\n\r\n\r Cordialement,\r\n\r\n Les admins CQuest"; $emetteur = "From: loic.savoye@orange.com"; if (@mail($to, $sujet, $corps, $emetteur)) { echo 'Le mail contenant votre mot de passe a été envoyé.'; } else { echo 'Echec de l\'envoi du mail.'; } } else { echo 'L\'adresse mail n\'est pas enregistrée dans la base de données !'; } }
stat = Deferred: Connection refused by [127.0.0.1]
C'est le localhost qui bloque l'envoi des mails du coup ? Si oui quelle est la config à modifier ?
J'ai appliqué cette commande : sudo chkconfig --levels 235 sendmail on...
Du coup nouvelle erreur :
SYSERR(apache) : savemail: cannot save rejected email anywhere
Je viens du forum PHP !
Cdlt
Partager