Bonsoir à tous et toutes.
1ère question :
Je cherche à coder dans une méthode l'envoi d'un mot de passe oublié; mais j'ai bien le message comme quoi l'email
est envoyé mais, après vérification dans la boite il n'ya aucun mail.
Voici le code : "serveur de ovh, car en local il ne marche pas du tout"

function forgotten()
        {

            if (isset($_POST'envoi']) && $_POST'envoi'] == "Envoyer") {

                if(empty($_POST'email'])) {
                    echo "<div class='alert alert-danger'>Merci de renseigner votre adresse e-mail!</div>";
                }
                if (isset($_POST'email']) && !empty($_POST'email'])) {
                    //Requete peremettant de recupérer les informations du membre
                    $bdd = new pdo("mysql:host=127.0.0.1; dbname=monsite", "root", "");

                    $requete = $bdd->query("SELECT password, email, nom FROM $this->User WHERE email='".$_POST'email']."'");
                    $data = $requete->fetch();
                    if($_POST'email'] != $data'email']){
                        echo "<div class='alert alert-danger'>Cette adresse e-mail est inconnue, veuillez vous <a href='inscription.php'>inscrire</a></div>";
                    }else {

                        $motdepasse = $data'password'];
                        $nom = $data'nom'];
                        $expediteur = $data'email'];
                        $destinataire = "contact@mondomaine.com";
                        $subject = "Voici votre mot de passe";
                         // message
                         $message = "Bonjour ".strtoupper($nom)." <br>Suite à votre demande, voici votre mot de passe ".$motdepasse." <br>Merci de la garder soigneusement.<br>Cordialement";
                         // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
                         $headers = 'MIME-Version: 1.0' . "\r\n";
                         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                         // En-têtes additionnels
                         $headers .= 'To: webmaster <$destinataire>' . "\r\n";
                         $headers .= 'From: $nom <$expediteur>' . "\r\n";
                         /*$headers .= 'Cc: anniversaire_archive@example.com' . "\r\n";
                         $headers .= 'Bcc: anniversaire_verif@example.com' . "\r\n";*/
                         // Envoi
                        if(mail($destinataire, $subject, $message, $headers)) {
                                echo "<center><div class='alert alert-success'>
                                            Votre mot de passe vient d'être envoyer à l'adresse e-mail que vous m'avez communiquer. N'hésiter pas à aller voir dans vos spams au cas où!
                                    </div></center>";
                        }
                        else {
                            echo "<center><div class='alert alert-danger'>
                                            Ooops !! Une erreur est survenue lors de l'envoi de votre e-mail, veuillez réessayer un peu plus tard!
                                </div></center>";
                        }
                    }
                }
            }
        }

2ème question :
Je veux mettre les erreurs (en cas de champs du formulaire vide ou ne respectant pas la taille du champ) dans un tableau à partir de ma méthode
MAIS je ne sais comment récupérer cette variable sous le champ dans le fichier cible.

Merci de votre aide!!!!

4 réponses


diogodiallo
Auteur
Réponse acceptée

AzO : Il faut donc rajouter d'autres paramètres?

Merci de votre réponse; j'ai fait le changement mais j'obtiens toujours pas l'e-mail dans l'adresse
du destinataire. Pourtant j'ai le message comme quoi l'e-mail a été envoyer!

je vais essayer la fonction mail(). Mais si c'est le serveur, comment y accéder vu que c'est le serveur de ovh? Moi j'ai configurer mon e-mail sur outlook avec les données que ovh m'a fourni et j'ai tester pour voir si je peux envoyer et recevoir des e-mails (le résultat est ok)

Bonjour, diogodiallo attention sur les serveur mutualise de ovh la fonction mail() est très longue.