Php mail n'envoie pas de mail

Fermé
allan59820 Messages postés 76 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 17 octobre 2020 - Modifié par crapoulou le 26/03/2015 à 14:42
allan59820 Messages postés 76 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 17 octobre 2020 - 26 mars 2015 à 15:00
Bonjour, je suis en test d'envoi de mail d'activation a une inscription mais le mail ne s'envoie pas . J'ai suivi un tuto des teachers du net. Je n'ai aucune erreur d'afficher.

Voici mon code :

<?php

require('config/database.php');
require('includes/function.php');
require('includes/constants.php');
require("views/register.views.php");

//Si le formulaire a ete soumis
if(isset($_POST['envoi'])){
 
 //Si tous les champs ont été remplis
 if(not_empty(['pseudo', 'password', 'password_confirm', 'email' ])) {
  
  $errors = []; //tableau contenant l'ensemble des erreurs
  
  extract($_POST);
  
  //si le pseudo fait moins de 3 caractères
  if(mb_strlen($pseudo) < 3){
   $errors[] = "Pseudo trop court (Minimum 3 caractères).";
        }
  
  //vérification d'un adresse mail valide
  if(! filter_var($email, FILTER_VALIDATE_EMAIL)){
   $errors[] = "Adresse E-mail invalide.";
  }
  
  //Si le mot de passe fait moin de 6 caractères
  if(mb_strlen($password) < 6){
   $errors[] = "Mot de passe trop court (Minimum 6 caractères).";
        } else{
   
   //vérification que les 2 mots de passe soit identique
   if($password != $password_confirm){
    $errors[] = "Les deux mots de passe ne concordent pas.";
   }
  }
  
  //SI le mot de passe est déja dans la base de donnée
  if(is_already_in_use('pseudo', $pseudo, 'users')) {
   $errors[] = "Pseudo déja utilisé.";
  }
  
  //SI l'email est déja dans la base de donnée
  if(is_already_in_use('email', $email, 'users')) {
   $errors[] = "Adresse E-mail déja utilisé.";
  }
  
  if(count($errors) == 0){
   
   //Envoi d'un mail d'activation
   
   $to = $email;
   $subject = WEBSITE_NAME. " - ACTIVATION DE COMPTE";
   $token = sha1($pseudo.$email.$password);
   
   ob_start();
   require('templates/emails/activation.tmpl.php');
   $content = ob_get_clean();
   
   $headers = 'MIME-Version: 1.0' . "\r\n";
   $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
   
   mail($to, $subject, $content, $headers);
   
   //Informer l'utilisateur pour qu'il regarde sa boite mail
   echo "Mail d'activation envoyé !";
  }
  
 } else {
  
  $errors[] = "Veuillez remplir tous les champs";
  
 }
}

?>


merci d'avance de vos réponses
A voir également:

2 réponses

Es tu en local ?
0
allan59820 Messages postés 76 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 17 octobre 2020 5
26 mars 2015 à 14:55
bonjour karine_22, non je ne suis pas en local car sendmail ne passe pas sur mon wamp j'ai fais les test sur mon hebergeur hostinger en compte gratuit. Mon formulaire de contact marche bien mais pas le mail d'activation.
0
D'accord bon j'ai pas plus d'idée j'avais eu ce problème en travaillant en local ^^
0
allan59820 Messages postés 76 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 17 octobre 2020 5 > Karine_22
26 mars 2015 à 15:00
ok lol pas grave merci quand même ! mais si tu as la réponse pour faire mon test en local sur wamp avec sendmail je suis preneur ^^
0