Envoi des mails depuis son site

Fermé
janyduchemin - 30 août 2021 à 17:00
jordane45 Messages postés 38294 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 - 31 août 2021 à 00:11
Bonne après midi,

Mon site tourne en local et je gère l'envoi des mails via Sendmail et Swiftmailer. En mettant le site en ligne de je voudrais savoir si mon hébergeur va activer l'envoi des mails automatiquement (par exemple quand un usager va remplir le formulaire d'inscription, il devra finir le processus en cliquant sur le lien dans sa boîte mail). Comment cela va t-il se passer? devrais-je ajouter un code sur mon fichier (signup.php).
Je vous laisse mon fichier d'inscription au cas ou...
Merci!
<?php
require 'includes/includes.php';


//récupération PROPRE des variables AVANT de les utiliser
$email = !empty($_POST['email']) ? addslashes(trim($_POST['email'])) : "";
$password = !empty($_POST['password']) ? addslashes(trim($_POST['password'])) : "";
$nom_prenom = !empty($_POST['nom_prenom']) ? addslashes($_POST['nom_prenom']) : "";
$ville = !empty($_POST['ville']) ? addslashes($_POST['ville']) : "";


if (!empty($_POST['email'])) {

  if (!empty($_POST['password']) && ( filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) )) {

    $password = Auth::hashPassword($password);
    $token = sha1(uniqid(rand()));

    $reponse = $DB->uniqueEmail($email);

    if ($reponse != 0) {
      $_SESSION['erreur'] = "Adresse email déja utilisée par un membre.";
    } else {

      $createUser = $DB->createUser($nom_prenom, $ville, $email, $password, $token);
      if ($createUser) {
        //envoi d'email.
        $mail_to = $email;
        $mail_subject = " Validation de votre compte !!";
        $headers = "From : Ndameyong\r\n";
        $headers .= "Reply-To:***@*** \r\n";
        $headers .= "MIME-Version 1.0\r\n";
        $headers .= "Content-type: text/html;charset=utf-8\r\n";
        $mail_body = 'Bonjour <br/> Veuillez ciquer sur <a href="http://localhost/ndameyong/activate.php?token=' . $token . '&email=' . $email . '"> le lien </a>pour activer votre compte ';

        if (mail($mail_to, $mail_subject, $mail_body, $headers)) {
          $_SESSION['message'] = " Un émail a été envoyé a votre méssagerie avec des instructions pour activer votre compte ";
          unset($_POST);
        } else {
          $_SESSION['erreur'] = "Un problème est survenu lors de l'envoi d'email !.";
        }
      } else {
        echo "Erreur lors de la création de l'utilisateur !";
        exit('Error!!!');
       
      }
    }
  } else {
    if (empty($_POST['password'])) {
      $erreur_password = 'Un mot de passe est requis !.';
      $_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
    }

    if (empty($_POST['email'])) {
      $erreur_email = 'Le champs email est requis !';
      $_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
    } else
    if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
      $erreur_email = 'Adresse Email non valide !';
      $_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
    }
  }
}
?>

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- reponsive meta-->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Création de compte || Ndameyong - L'Ecole des Langues Camerounaises</title>

    <!-- Font Icon -->
    <link rel="icon" type="image/png" sizes="16x16" href="favicon/favicon-16x16.png">
    <link rel="stylesheet" href="fonts/material-icon/css/material-design-iconic-font.min.css">

    <!-- Main css -->
    <link rel="stylesheet" href="css/signup.css">

  </head>
  <body>

    <!-- message de session -->
    <?php if (isset($_SESSION['message'])): ?>
      <div class="message"> <?php echo $_SESSION['message']; ?></div>
      <?php unset($_SESSION['message']) ?>
    <?php endif ?>
    <?php if (isset($_SESSION['erreur'])): ?>
      <div class="errorMessage"> <?php echo $_SESSION['erreur']; ?></div>
      <?php unset($_SESSION['erreur']) ?>
<?php endif ?>

    <div class="main">
      <section class="signup">
          <!-- <img src="images/signup-bg.jpg" alt=""> -->
        <div class="container">
          <div class="signup-content">

            <form action="" method="post" id="signup">
              <h2 class="form-title"><a href="index.php"><span class ="moi">accueil du site</span></span></a></h2>

              <div class="form-group">
                <input type="text" class="form-input" name="nom_prenom" id="nom_prenom" value="<?php echo $nom_prenom; ?>" 
                       placeholder="Nom & Prénom"/>
              </div>

              <div class="form-group">
                <input type="text" class="form-input" name="ville" id="ville" value="<?php echo $ville; ?>" 
                       placeholder="Ville de Résidence"/>
              </div>
              <div class="form-group">
                <input type="email" class="form-input" class="required" name="email" id="email" value="<?php echo $email; ?>" placeholder="Votre E-mail"/>
              </div>
              <?php if (!empty($erreur_email)): ?>
                <div class="error"><?php echo $erreur_email; ?></div> 
<?php endif ?>

              <div class="form-group">
                <input type="Password" class="form-input" class="required" name="password" id="password" placeholder="Password"/>
                <span toggle="#password" class="zmdi zmdi-eye field-icon toggle-password"></span>
              </div>

              <?php if (!empty($erreur_password)): ?>
                <div class="error"><?php echo $erreur_password; ?></div> 
<?php endif ?>

              <p class="information">* Tous les champs sont requis</p>
              <div class="form-group">
                <input type="checkbox" name="agree-term" id="agree-term" class="agree-term" />
                <label for="agree-term" class="label-agree-term"><span><span></span></span>Je m'inscris et je deviens membre de l'association Ndameyong  
                  <a href="statut_reglement.php" class="term-service">Statut & Règlement</a></label>
              </div>

              <div class="form-group">
                <input type="submit" name="submit" id="submit" class="form-submit" value="Sign up"/>
              </div>
            </form>
            <p class="loginhere">
              Déja Membre ? <a href="login.php" class="loginhere-link">Connecte-toi ici</a>
            </p>
          </div>
        </div>
      </section>

    </div>

    <!-- JS -->
    <script src="vendor/jquery/jquery.min.js"></script>
    <script src="js/main.js"></script>
  </body>
</html>

1 réponse

jordane45 Messages postés 38294 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
30 août 2021 à 17:56
Bonjour,
La fonction "mail" n'est pas toujours active chez tous les hébergeurs et/ou peut fonctionner plus ou moins bien (chez les hébergeurs gratuits surtout... )

Et bien entendu.. une fois que tu auras mis ton site en ligne... il faudra penser à modifier les URL que tu as écris en DUR dans ton code.
car avec une url en http://localhost/ ... ça ne marchera pas.


0
Janyduchemin
30 août 2021 à 22:17
Bsr merci pour votre réponse.
En ce qui concerne l'URL http//localhost/mon site/index.php(par exemple) devrais le remplacer par cette écriture: https//www.monsite.com??
Merci d'avance
0
jordane45 Messages postés 38294 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704 > Janyduchemin
31 août 2021 à 00:11
Oui
0