Formulaire envoi mail

Fermé
Bryant - 11 déc. 2013 à 15:27
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 12 déc. 2013 à 11:35
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 :

<?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
A voir également:

1 réponse

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 11/12/2013 à 15:40
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
0
En fait, je suis en local mon site est hébergé nul part.
Mais je ne sais pas comment faire vu que je suis en local. Du coup, j'ai mis laposte.net vu que j'envoie avec cette adresse.

Qu'est ce que tu veux dire par "Essayez mail() sur le serveur d'hébergement sans le SMTP. Souvent ça marche"??

Merci
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
11 déc. 2013 à 16:18
Salut,

Si tu travail en local, essaye plutôt avec le smtp de ton FAI.

Bonne journée
0
Oui mais en local c'est quoi le fai?
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
12 déc. 2013 à 11:35
FAI : Fournisseur d'accès à internet
http://wiki.alfa-safety.fr/index.php/Serveur_SMTP_des_principaux_FAI
0