Php mail n'envoie pas de mail
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 :
merci d'avance de vos réponses
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
2 réponses
-
Es tu en local ?
-
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.
-
-
@Karine_22ok 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 ^^
-