Probleme interception de MAIL MAMP MAILDEV
- Accueil
- Forum
- Programmation
- PHP
- Probleme interception de MAIL MAMP MAILDEV
Elwaid Le 18 avril 2018 à 23:37 (Édité le 25 janvier 2019 à 17:54)
<?php
session_start();
function debug ($variable){
echo '<pre id="debug">' . print_r($variable, true) . '</pre>';
}
function str_key($lenght){ //key 60 characters to send an email but not in local
$alphabet = "0123456789AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn";
return substr (str_shuffle(str_repeat($alphabet, $lenght)), 0, $lenght);}
error_reporting(E_ALL);
ini_set('display_errors', '1');
try{
$pdo = new PDO( 'mysql:dbname=sledom;host=localhost', 'root', 'root');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
}
catch (Exception $e) {
die('Erreur : ' . $e->getMessage());
}
if(isset($_POST['forminscription']))
{
$firstname = htmlspecialchars($_POST['firstname']);
$lastname = htmlspecialchars($_POST['lastname']);
$email = htmlspecialchars($_POST['email']);
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);
if(!empty($_POST['firstname']) AND !empty($_POST['lastname']) AND !empty($_POST['email']) AND !empty($_POST['username']) AND !empty($_POST['password']))
{
if (preg_match('/[a-zA-Z-\'éèëêaàâäiïîñ]+$/', $_POST['firstname'])){
if (preg_match('/[a-zA-Z-\'éèëêaàâäiïîñ]+$/', $_POST['lastname'])){
if (preg_match('/[a-zA-Z-_\'éèëêaàâäiïîñ0-9]+$/', $_POST['username'])){
if (preg_match('/[a-z-_0-9]+$/', $_POST['email'])){
$usernamelenght = strlen($username);
if($usernamelenght <= 255 AND $usernamelenght >= 2)
{
$passwordlenght = strlen($password);
if($passwordlenght >= 8)
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
$requsername = $pdo->prepare('SELECT * FROM users WHERE username = ?');
$requsername ->execute(array($username));
$usernameexist = $requsername->rowcount();
if($usernameexist == 0)
{
$reqemail = $pdo->prepare('SELECT * FROM users WHERE email = ?');
$reqemail ->execute(array($email));
$emailexist = $reqemail->rowcount();
if($emailexist == 0)
{
if(empty($errors)){
$req = $pdo->prepare("INSERT INTO users SET firstname = ?, lastname = ?, email = ?, username = ?, password = ?, confirmation_token = ?");
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$token = str_key(60);
debug($token); //montre la clé de confirmation en attendant la phase de production et l'envoi de mail
$req->execute([$_POST['firstname'], $_POST['lastname'], $_POST['email'], $_POST['username'], $password, $token]);
$user_id = $pdo->lastinsertid();
mail($_POST['email'], 'Account confirmation', "Hello, \n\n To validate your account, please click on this link : \n\nhttp://localhost:8888/MON%20SITE/confirmation.php?id=$user_id$token");
//http://localhost:8888/MON%20SITE/confirmation.php?id=()&token=(GS3SikspQlvoDneLxFeWBNXPSCuRUg3Q0JR7YFyOJtRJzj0I9aLFGvvRYvoU)//
$message = "A confirmation email have been sent, </br> Thanks for your registration.";
header("Refresh: 8;URL=Signin.php");
}else{
$errors = "les infos ne sont pas envoyées";
}
}else{
$errors ="This Email Adress is already used";
}
}else{
$errors ="This Username is already used";
}
}else{
$errors = "Please enter a valid Email Adress";
}
}else{
$errors = "Your password must contain at least 8 characters";
}
}else{
$errors ="Your username must be between 2 and 255 characters long";
}
}else{
$errors = "Please enter a valid Email Adress";
}
}else{
$errors = "Please enter a valid Username";
}
}else{
$errors = "Please enter a valid Last Name";
}
}else{
$errors = "Please enter a valid First Name";
}
}else{
$errors="All fields must be filled";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Become Sledomer</title>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css?family=Bubbler+One" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Bungee+Hairline" rel="stylesheet">
</head>
<body>
<div id= "contenu"> <!-- everything on my webpage -->
<h1 id= "logo1"><a><img src="IMAGES/LOGO1..psd"></a></h1>
</div>
<h2 id= "slogan1"> Find your style <br>Become your own model</h2>
<h1 id= "titlep1">Become Sledomer</h1>
<h1 id = "sloganpage1"> Sign up to post your look <br> And earn money.</h1>
<div>
<h1 id= "signupwith">Sign up with<a href= "http://facebook.com"><img src= "IMAGES/facebook.png"></a><a href= "http://plus.google.com"><img src= "IMAGES/google+.png"></a></h1>
</div>
<h1 id= "OR">OR</h1>
<?php
if(isset($errors))
{
echo '<p id="erreur">' .$errors. "</p>";
}
?>
<?php
if(isset($message))
{
echo '<p id="confirme">' .$message. "</p>";
}
?>
<img class= "mannequin" src=IMAGES/Mannequin1.jpg>
<form method="post" action="">
<fieldset id=formulaire1>
<label for= "first name"></label>
<input type= "text" id= "firstname" name="firstname" placeholder="First Name" required="required" value="<?php if(isset($firstname)) {echo $firstname;} ?>"/>
<label for= "last name"></label>
<input type= "text" id= "lastname" name="lastname" placeholder="Last Name" required="required" value="<?php if(isset($lastname)) {echo $lastname;} ?>"/><br>
<label for= "email"></label>
<input type= "email" id= "email" name="email" placeholder="Email Adress" required="required" value="<?php if(isset($email)) {echo $email;} ?>"/><br>
<label for= "username"></label>
<input type= "text" id= "username" name="username" placeholder="Userame" required="required" value="<?php if(isset($username)) {echo $username;} ?>"/><br>
<label for= "password"></label>
<input type= "password" id= "password" name="password" placeholder="Password" required="required"/><br>
</fieldset>
<p id= "accept">By signing up, you agree to our Terms & Conditions</p>
<input class="signup" type="submit" name = "forminscription" value="Sign Up">
</form>
<p id="members">Have an account ? | <a href= "Signin.php"> Sign In</a></p>
<div id= "footer"> <!-- footer -->
<p id= "credit1">©2018 • SLEDOM® - All right reserved | </p>
<p id="credit"><a href= Terms&conditions.php>Terms & Conditions</a></p>
<div id= "footerlogo">
<h1><a><img src="IMAGES/LOGO1..psd"></a></h1>
</div>
<div id= "footerpartners">
<ul> <!--menu footer-->
<p class = titlepartners > PARTNERS</p>
<li><a href= "Creators.php"> Creators</a></li>
<li><a href= "Developers.php">Developers</a></li>
<li><a href= "Press.php">Press</a></li>
<li><a href= "Advertise.php">Advertise</a></li>
</ul>
</div>
<div id= "footerresources">
<ul> <!--menu footer-->
<p class = titleresources > RESOURCES</p>
<li><a href= "Policy&Safety.php"> Policy & Safety</a></li>
<li><a href= "Copyright.php">Copyright</a></li>
<li><a href= "Privacy.php">Privacy</a></li>
<li><a href= "Help.php">Help</a></li>
</ul>
</div>
<div id= "footerconnect">
<ul> <!--menu footer-->
<p class = titleconnect > CONNECT</p>
<li><a href= "http://facebook.com"> <img src= "IMAGES/facebook.png"> Facebook</a></li>
<li><a href= "http://twitter.com"> <img src= "IMAGES/Twitter.png"> Twitter</a></li>
<li><a href= "http://instagram.com"><img src= "IMAGES/Instagram.png"> Instagram </a></li>
<li><a href= "http://plus.google.com"><img src= "IMAGES/google+.png"> Google+ </a></li>
</ul>
</div>
<select id = "changelanguage" name="choix">
<option value="choix1">English</option>
<option value="choix2">French</option>
</select>
</div>
</body>
</html>
Bonjour à tous,
Voilà cela fait plusieurs jours que je fouille internet à la recherche d'une solution.
Je ne parviens absolument pas à intercepter les mail provenant de mon script.
J'ai constaté que de nombreuses personnes ont le même soucis, mais généralement les solution sont propres à chacun des cas.
Si quelqu'un à une idée 😀
Je suis sous MAC OS, j'utilise MAMP (pas pro).
Merci .
Cod_Is_All Le 16 juin 2018 à 14:05 (Édité le 1 janvier 1970 à 01:00)
Cependant je t'invite à configurer le fichier php.ini de tel sorte a pouvoir envoyer directement sur gmail les messages
psedo Le 24 juin 2018 à 23:40 (Édité le 1 janvier 1970 à 01:00)
Cependant je t'invite à configurer le fichier php.ini de tel sorte a pouvoir envoyer directement sur gmail les messages 😁
Profil introuvable Le 25 juin 2018 à 04:57 (Édité le 1 janvier 1970 à 01:00)
psedo Le 25 juin 2018 à 22:03 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 25 juin 2018 à 23:28 (Édité le 1 janvier 1970 à 01:00)
@psedo, ce n'est pas grave 😇😅 Si jamais t'a remarqué un bug, n'hésite pas c'est ici ! 😉
@Cod_Is_All, nous sommes à ton écoute ! 😉
psedo Le 26 juin 2018 à 15:54 (Édité le 26 juin 2018 à 16:00)
Profil introuvable Le 26 juin 2018 à 21:10 (Édité le 1 janvier 1970 à 01:00)