Formulaire envoi mail
Bryant
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour,
J'essaye d'envoyer un mail en cas de perte de mot de passe dans mon formulaire mais impossible de faire marcher mon script.
Voici mon code :
Je ne vois pas du tout ou peut être mon problème.
J'ai regardé sur plusieurs forums mais sans succès.
Merci
J'essaye d'envoyer un mail en cas de perte de mot de passe dans mon formulaire mais impossible de faire marcher mon script.
Voici mon code :
<?php
ini_set('SMTP','smtp.laposte.net');
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "azerty" );
//sélection de la base de données:
$db = mysql_select_db( "azerty" );
if (isset($_POST['mail']))
{
echo '1';
// On liste toutes les lettres et chiffres
$alphabet='azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789';
// On répète X fois l'aphabet et on transforme en array
$letter = str_split(str_repeat($alphabet, 8));
// On mélange
shuffle($letter);
// On sélectionne les 8 premières lettres
$mdp=substr(implode($letter),0,8);
$headers = 'From: ***@laposte.net' . "\r\n" .
'Reply-To: ***@laposte.net' . "\r\n" .
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$to = $_POST['mail'];
$objet = 'Votre mot-de-passe';
$message = 'Votre nouveau mot-de-passe est : <strong>'.$mdp.'</strong>';
echo '2';
mail($to, $objet, $message, $headers);
echo '2 bis';
$pass = md5($mdp);
$db = "UPDATE inscription SET Mdp ='" . $pass . "' WHERE Mail ='" . $_POST['mail'] . "'";
echo '3';
echo'<div class="tn"><span>Mot-De-Passe envoyé !</span>';
echo'<p>Le mot-de-passe a été réinitialisé, consulter vos e-mails : <br />';
echo '<strong>'. $_POST['mail'] .'</strong></p><br />';
echo 'Cliquez <a href="index.php">ici</a> pour revenir à l\'accueil</div>';
echo '4';
}
else
{
echo 'ERROR !!!';
}
?>
Je ne vois pas du tout ou peut être mon problème.
J'ai regardé sur plusieurs forums mais sans succès.
Merci
1 réponse
-
Bonjour,
concernant ceci:ini_set('SMTP','smtp.laposte.net');
sauf erreur, ça ne PEUT marcher QUE et SEULEMENT:
- si le script est hébergé chez laposte.net
- si le service mail() est autorisé
La très grande majorité des sites (FAIs) et hébergeurs n'ouvrent le SMTP que aux scripts hébergés en interne, et ce de manière très encadrée et limitée.
Essayez mail() sur le serveur d'hébergement sans le SMTP. Souvent ça marche.
A+
public function meilleurProgrammeurDuMonde() { return "MOI"; } // humour