Aucun envoie de mail via php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aucun envoie de mail via php

Re: Aucun envoie de mail via php

par @rthur » 05 juin 2019, 00:43

Bonjour,

Il faut que tu avances davantage dans ton debugage pour qu'on puisse t'aider efficacement.
Regarde les logs d'erreur de ton serveur.
Exécute ton code pas à pas en faisant des var_dump() régulier pour savoir à quel moment ça ne se passe pas comme prévu.
Et revient vers nous quand tu auras un message d'erreur ou un problème identifié précisément.

Aucun envoie de mail via php

par mrbendix » 30 mai 2019, 10:41

bonjour voila je n'arrive pas , à envoyer le mail pour le mot de passe oublié voici son code ou ai-je une erreur

Code : Tout sélectionner

<?php session_start(); try { $bdd = new PDO ('mysql:host=localhost;dbname=bts_sn', 'project', 'project'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'Échec lors de la connexion : ' . $e->getMessage(); } if(!empty($_POST)){ extract($_POST); $valid = true; if (isset($_POST['oublie'])){ $adresseelectronique = htmlentities(strtolower(trim($_POST['adresseelectronique']))); // On récupère le mail afin d envoyer le mail pour la récupèration du mot de passe // Si le mail est vide alors on ne traite pas if($valid) { $verification_adresseelectronique = $bdd -> prepare('SELECT * FROM Cyclistes WHERE adresseelectronique = ? AND validation ="1"'); $verification_adresseelectronique -> execute (array($adresseelectronique)); $verification_adresseelectronique = $verification_adresseelectronique->fetch(); if(isset($verification_adresseelectronique['adresseelectronique'])) { if($verification_adresseelectronique['n_mdp'] == 0) { // On génère un mot de passe à l'aide de la fonction RAND de PHP $new_pass = rand(7,10); // Le mieux serait de générer un nombre aléatoire entre 7 et 10 caractères (Lettres et chiffres) $new_pass_sha1 = sha1 ($new_pass, "$6$rounds=5000$macleapersonnaliseretagardersecret$"); // $new_pass_crypt = crypt($new_pass, "VOTRE CLÉ UNIQUE DE CRYPTAGE DU MOT DE PASSE"); $objet = 'Nouveau mot de passe'; $to = $verification_adresseelectronique['adresseelectronique']; //===== Création du header du mail. $header = "From: [email protected] <[email protected]> \n"; $header .= "Reply-To: ".$to."\n"; $header .= "MIME-version: 1.0\n"; $header .= "Content-type: text/html; charset=utf-8\n"; $header .= "Content-Transfer-Encoding: 8bit"; //===== Contenu de votre message $contenu = "<html>". "<body>". "<p style='text-align: center; font-size: 18px'><b>Bonjour Mr, Mme".$verification_adresseelectronique['nom']."</b>,</p><br/>". "<p style='text-align: justify'><i><b>Nouveau mot de passe : </b></i>".$new_pass."</p><br/>". "</body>". "</html>"; //===== Envoi du mail mail($to, $objet, $contenu, $header); $inclusion_bdd = $bdd->prepare('UPDATE Cyclistes SET motdepasseweb = ?, n_mdp = 1 WHERE adresseelectronique = ? AND validation ="1"'); $inclusion_bdd -> execute(array ($new_pass_sha1, $verification_adresseelectronique['adresseelectronique'])); } } //header('Location: index.php'); exit; } } } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Mot de passe oublié</title> </head> <body> <div>Mot de passe oublié</div> <form method="post"> <?php if (isset($er_adresseelectronique)){ ?> <div><?= $er_adresseelectronique ?></div> <?php } ?> <input type="email" placeholder="Adresse mail" name="adresseelectronique" value="<?php if(isset($adresseelectronique)){ echo $adresseelectronique; }?>" required> <button type="submit" name="oublie">Envoyer</button> </form> </body> </html>