Fonction mail php qui ne s'execute pas
foxbib
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
foxbib Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
foxbib Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créer un page pour une inscription sur mon site , lors de l'inscription , un simple mail de confirmation est envoyé a l'utilisateur , sauf que mon problème , c'est que l'utilisateur ne reçois rien .
Je vous met mon code si vous pouviez m'aider.
J'ai comme message a la fin de mon inscription :
"Votre compte utilisateur a correctement été créer
Un email vient de vous être envoyer afin de l'activer"
Pourtant aucun mail dans ma boite test ...
J'ai mis en gras la partie envoie du mail , je ne vois pas d'où vient l'erreur
Merci de votre lecture
En attente de vos réponse
foxbib
J'ai créer un page pour une inscription sur mon site , lors de l'inscription , un simple mail de confirmation est envoyé a l'utilisateur , sauf que mon problème , c'est que l'utilisateur ne reçois rien .
Je vous met mon code si vous pouviez m'aider.
<?php // start session if ($_SESSION['auth'] == 1) { header("Location: content.php"); } else { // Formulaire visible par défaut $masquer_formulaire = false; // Une fois le formulaire envoyé if(isset($_POST["BT_Envoyer"])) { // Vérification de la validité des champs if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_Nom_Utilisateur"])) { $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n"; $message .= "L'utilisation de l'underscore est autorisée"; } elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_Mot_de_Passe"])) { $message = "Votre mot de passe doit comporter au moins 4 caractères"; } elseif($_POST["TB_Mot_de_Passe"] != $_POST["TB_Confirmation_Mot_de_Passe"]) { $message = "Votre mot de passe n'a pas été correctement confirmé"; } elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$", $_POST["TB_Adresse_Email"])) { $message = "Votre adresse e-mail n'est pas valide"; } else { // Connexion à la base de données // Valeurs à modifier selon vos paramètres configuration require('configserv.inc.php'); // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail $result = mysql_query(" SELECT name , mail FROM users WHERE name = '" . $_POST["TB_Nom_Utilisateur"] . "' OR mail = '" . $_POST["TB_Adresse_Email"] . "' "); // Si une erreur survient if(!$result) { $message = "Une erreur est survenue lors de la création de votre compte utilisateur"; } else { // Si un enregistrement est trouvé if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { if($_POST["TB_Nom_Utilisateur"] == $row["name"]) { $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"]; $message .= "est déjà utilisé"; } elseif($_POST["TB_Adresse_Email"] == $row["mail"]) { $message = "L'adresse e-mail " . $_POST["TB_Adresse_Email"]; $message .= "est déjà utilisée"; } } } else { // Génération de la clef d'activation $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9); $caracteres_aleatoires = array_rand($caracteres, 8); $clef_activation = ""; foreach($caracteres_aleatoires as $i) { $clef_activation .= $caracteres[$i]; } // Création du compte utilisateur $result = mysql_query(" INSERT INTO users( name , pass , mail , date_inscription , actif ) VALUES( '" . $_POST["TB_Nom_Utilisateur"] . "' , '" . sha1($_POST["TB_Mot_de_Passe"]) . "' , '" . $_POST["TB_Adresse_Email"] . "' , '" . time() . "' , '" . $clef_activation . "' ) "); // Si une erreur survient if(!$result) { $message = "Une erreur est survenue lors de la création de votre compte utilisateur"; } else { // Envoi du mail d'activation $sujet = "Activation de votre compte utilisateur WarLife"; $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n"; $message .= "[http://]" . $_SERVER["SERVER_NAME"]; $message .= "/idsess/activer-compte-utilisateur.php?id=" . mysql_insert_id(); $message .= "&clef=" . $clef_activation; // Si une erreur survient if(!mail($_POST["TB_Adresse_Email"], $sujet, $message)) { $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n"; $message .= "Veuillez contacter l'administrateur afin d'activer votre compte"; } else { // Message de confirmation $message = "Votre compte utilisateur a correctement été créer<br />\n"; $message .= "Un email vient de vous être envoyer afin de l'activer"; // On masque le formulaire $masquer_formulaire = true; } } } } } // Fermeture de la connexion à la base de données mysql_close(); } } ?> <html> <head> <title>Creation de votre espace membre WarLife</title> </head> <body> <? if(isset($message)) { ?> <p><?= $message; ?></p> <? } if($masquer_formulaire != true) { ?> <center> <form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <p> Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" /> </p> <p> Mot de passe : <input type="password" name="TB_Mot_de_Passe" /> </p> <p> Confirmation du mot de passe : <input type="password" name="TB_Confirmation_Mot_de_Passe" /> </p> <p> Adresse e-mail : <input type="text" name="TB_Adresse_Email" /> </p> <p> <input type="submit" name="BT_Envoyer" value="Envoyer" /> </p> </form> </center> <? } ?> </body> </html>
J'ai comme message a la fin de mon inscription :
"Votre compte utilisateur a correctement été créer
Un email vient de vous être envoyer afin de l'activer"
Pourtant aucun mail dans ma boite test ...
J'ai mis en gras la partie envoie du mail , je ne vois pas d'où vient l'erreur
Merci de votre lecture
En attente de vos réponse
foxbib
A voir également:
- Fonction mail php qui ne s'execute pas
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Créer une adresse mail hotmail - Guide
- Comment télécharger un mail - Guide
1 réponse
je vien de testé ce petit fichier mais toujours pas de mail .
Pour information , mon hébergeur est free !
Merci pour votre aide
Pour information , mon hébergeur est free !
<html> <body> <?php $destinataire = "****@hotmail.com"; echo "Ce script envoie un mail à $destinataire"; mail($destinataire, "test email 1", "merci pour ton tutorial"); ?> </body> </html>
Merci pour votre aide
que j'ai réussi a envoyé mon mail de confirmation sur une boite mail Voila.fr
Donc le problème viendrait d'hotmail qui bloquerai les mails.
Avez vous une solution ?