Configurer php.ini fonction mail() en localhost [Résolu]

Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
- - Dernière réponse : cs_fecou
Messages postés
3
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
19 novembre 2009
- 19 nov. 2009 à 02:01
bonjour

je travaille pour l'instant en local pour tester mes pages
qui créer un espace sécurisé pour mon site
et j'ai une page inscription.php ou l'on rentre son login désiré
son mot de passe et son adresse email
quand on valide cela me repond que l'adresse mail n'est pas valide
donc je pense que c'est mon php.ini qui n'est pas configurer pour envoyer des mail en local
(enfin je pense)

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25



; For Win32 only.
;sendmail_from =
[mailto:me@example.com
me@example.com
]



je l'ai pris dans le dossier apache easyphp

www.creativs.fr
Afficher la suite 

15 réponses

Meilleure réponse
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
3
Merci
[mail function]
; For Win32 only.
SMTP = le SMTP de ton fournisseur d'acces
smtp_port = 25
; For Win32 only.
;sendmail_from = 
[mailto:me@example.com
ton adress mail
]











Personne ne peut se permettre de juger l'autre....

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_sebastien_et_typh
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
Page inscription.php

<?php
//------------------------------------------------------
// Fonction Inscription
// - Attribution d'une id unique
// - Tous les champs doivent être remplis
// - Les deux champs passwords doivent être identiques
// - Les champs ne doivent pas contenir dapostrophe
// - Le login ne doit pas déjà exister
// - Le mail ne doit pas être dans la blackliste
// - Envoi d'un mail avec une adresse de confirmation
//------------------------------------------------------
function inscription()
{
require "connect.inc.php";
$page=$serveur.$_SERVER["PHP_SELF"];
$nom=$_POST["nom"];
$pass=$_POST["pass"];
$pass2=$_POST["pass2"];
$email=$_POST["email"];
$IP=$_SERVER['REMOTE_ADDR'];
$heure=time();



// Attendre quil ny ait pas dautres user avec le même numéro de session.
do
{
$uniqueid=md5(time());
$resultat = mysql_query("SELECT * FROM users WHERE uniqueid='$uniqueid'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));



// Vérification diverses et variées.
if($nom=="" || $pass=="" || $pass2=="" || $email==""){show_form($nom,$pass,$pass2,$email,'Certains champs ne sont pas remplis !');die();}
// Tous les champs doivent être remplis
if($pass!=$pass2){show_form($nom,$pass,$pass2,$email,'Le mot de passe et la confirmation sont différents.');die();}
// Le mot de passe et la confirmation doivent être identiques
if(!(!strrpos($_POST["nom"], "'") && !strrpos($_POST["pass"], "'") && !strrpos($_POST["email"], "'"))){show_form($nom,$pass,$pass2,$email,'Ne pas utiliser de caractères spéciaux');die();}
// Eviter les failles SQL
$resultat = mysql_query("SELECT * FROM users WHERE userid='$nom'");
if(false!=($ligne = mysql_fetch_array ($resultat))){show_form($nom,$pass,$pass2,$email,"Le membre (".$nom.") existe déjà");die();} 
// Si le login est déjà pris
$resultat = mysql_query("SELECT * FROM users WHERE email='$email' AND level='blacklist'");
if(false!=($ligne = mysql_fetch_array ($resultat))){show_form($nom,$pass,$pass2,$email,"L'adresse e-mail (".$email.") est blacklistée. Utilisez une autre adresse mail.");die();}  
// Si le-mail est dans la blacklist



$subject  = "Veuillez confirmer votre inscription";
$headers  = "From:
[mailto:moi@hotmail.com\n
moi@hotmail.com\n
]
";
$message  = "Veuillez confirmer votre inscription\n";
$message .= "Bonjour ".$nom."\n\n";
$message .= "Vous avez reçu ce mail parce que vous ou quelqu'un d'autre utilisant votre adresse mail s'est enregistré sur le site ".$site_name.".\n";
$message .= "Pour valider cet inscription, cliquez sur ce lien :\n ".$page."?code=".$uniqueid."&BL=0 \n";
$message .= "Si vous vous n'êtes pas inscrit sur ".$site_name.", veuillez ignorer ce message et accepter nos excuses.\n";
$message .= "Vous pouvez aussi choisir d'ajouter votre mail à notre blacklist pour ne plus recevoir de mail d'inscription de notre part en cliquant sur ce lien :\n ".$page."?code=".$uniqueid."&BL=1 \n";
$message .= "Votre e-mail a été envoyé de l'IP ".$IP.".\n\n";
$message .= "Cordialement,\n";
$message .= "Le Webmaster";



// Envoi du mail
if(@mail($email, $subject, $message, $headers))
    {
    $query = "INSERT INTO users VALUES ('$nom','$pass','$uniqueid','en_attente','$email','$heure','$IP')";
 // On ajoute le membre à la liste avec le status en attente
    mysql_query($query);
    mysql_close();



    $page_confirmation  = "Merci !

Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".

";
    $page_confirmation .= "Veuillez confirmer l'inscription en cliquant sur le lien se trouvant sur le mail.

";
    echo $page_confirmation;
    }
else
{
     show_form($nom,$pass,$pass2,$email,"Le mail de confirmation n'a pu être envoyé. Peut-être que l'adresse n'est pas valide. Veuillez contacter le webmaster s'il vous plait.");
}
}



//------------------------------------------------------
// Fonction Formulaire
// - Retourne le formulaire avec les messages derreurs
//------------------------------------------------------
function show_form($nom="",$pass="",$pass2="",$email="",$error="")
{
$page_inscription  = "<form action="".$_SERVER["PHP_SELF"]."" method="post">";
$page_inscription .= "Merci de remplir le formulaire ci-dessous :

";
$page_inscription .= "Login désiré :

";
$page_inscription .= "Mot de passe :

";
$page_inscription .= "Confirmation du mot de passe :</td><td>

";
$page_inscription .= "E-mail :

";
$page_inscription .= "

";
$page_inscription .= "".$error."

";
$page_inscription .= "</form>";
echo $page_inscription;
}



//-------------------------------------------------------------------------------
// Fonction de vérification de l'adresse de confirmation
// - Suppression des utilisateurs nayant pas confirmer avant la durée impartie
// - Extraction de la personne concernée
// - Validation de son enregistrement
// - Si l'on veut être blacklisté, après confirmation on effectue le blacklistage
// - Le webmaster recoit un mail lorsque linscription est validé
//-------------------------------------------------------------------------------
function code_check($code="",$BL="")
{
require "connect.inc.php";





$heure=time();



// On profite de loccasion pour supprimer les users nayant pas confirmé dans la durée impartie
$heure2=$heure-$validite;
mysql_query("DELETE FROM users WHERE heure<$heure2 AND level='en_attente'");



// On extrait la personne qui souhaite valider son inscription
$uniqueid=$code;$resultat mysql_query("SELECT * FROM users WHERE uniqueid'$uniqueid' AND level='en_attente'");
if(false==($ligne = mysql_fetch_array ($resultat)))
{
mysql_close();
$page_validation = "Ce code n'existe pas, est expiré ou à déjà été validé, veuillez remplir à nouveau le formaulaire : [mailto:ne_pas_repondre@free.fr\n
ne_pas_repondre@free.fr\n
]
";
       @mail($adresse_webmaster, $subject, $message, $headers);
      }
  }
  // Si l'utilisateur vient pour être blacklisté, on passe son level de en_attente à blacklist
  // Mais avant une petite confirmation
  if($BL==1)
  {
      $page_validation = "Vous souhaitez ajouter votre adresse mail à notre blackliste. Cliquez ici pour que vous puissiez confirmer.";
  }
  // Si lutilisateur a confirmé qu'il veut être dans la liste noire, on l'y met
  if($BL==2)
  {
      mysql_query("UPDATE users SET level='blacklist' WHERE uniqueid ='$uniqueid' AND level='en_attente'");
      $page_validation = 'Votre e-mail a été blacklisté. Vous ne receverez plus aucun e-mail de notre part.';
  }
  mysql_close();
}
echo "".$page_validation."

";
}
?>


www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
et la page validation.php

<html>
<head>
<title>Enregistrement</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="identification.css" />
</head>

<?php
require ("inscription.php");
if (isset($_POST["email"]))
{
  // Verification et envoi du mail de confirmation
  inscription();
}
else if(isset($_GET["code"]))
{
  // Verification du code et blacklistage si besoin
  code_check($_GET["code"],$_GET["BL"]);
}
else
{
  // Formaulaire d'enregistrement
  show_form();
}
?>

</html>

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
ok meme si je veux le faire fonctionné en local?

et l'adresse mail doit etre la meme ou je peux mettre une hotmail ou autre?

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
0
Merci
oui en local sa marche et pour les adresse hotmail je ne sais pas essaye car moi j'utilise phpmailer


Personne ne peut se permettre de juger l'autre....
Commenter la réponse de cs_sebastien_et_typh
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
ah au fait c'est bien celui que l'on trouve dans le repertoire apache d'easyphp qu'il faut modifier??

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
phpmailer?
cela serai plus simple pour moi ou c'est trop compliqué?

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
0
Merci
je trouve phpmailer simple donc si tu ve que je t'explique n'hesite pas..


Personne ne peut se permettre de juger l'autre....
Commenter la réponse de cs_sebastien_et_typh
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
ok c'est sympa
il se configure tout seul ou faut mettre la main a la pate?

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
0
Merci
pour utiliser phpmailer tu a deux fichier a placé a la racine du site et ensuite a initialiser les parametre via ton code php je serai plus precis ce soir mais essaye de telecharger phpmailer

Personne ne peut se permettre de juger l'autre....
Commenter la réponse de cs_sebastien_et_typh
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
c fait déjà


c quel fichier?

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
0
Merci
class.phpmailer.php et class.smtp.php tu dois les avoirs...
ensuite dans le code php tu met :
require("class.phpmailer.php");
        $mail = new PHPMailer();
        $mail->IsSMTP(); // set mailer to use SMTP
        $mail->Host = "(le smtp de ton forunisseur d'acces"; // specify main and backup server
        $mail->SMTPAuth = true; // turn on SMTP authentication
        $mail->From = "l'adresse d'ou le mail provient donc ton adresse msn par exemple";
        $mail->FromName = "ton nom";
        $mail->AddAddress('ladresse a ki tu lenvoi');
        $mail->AddReplyTo("l'adresse reply");
        $mail->Subject = "le sujet du mail";
        $mail->Body = "le mail au format html";
        $mail->AltBody = le mail format text brut;
        $mail->Send();
si tu a un soucy n'hesite pas


Personne ne peut se permettre de juger l'autre....
Commenter la réponse de cs_sebastien_et_typh
Messages postés
254
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
5 décembre 2008
0
Merci
merci seb&typh

<?php
//------------------------------------------------------
// Fonction Inscription
// - Attribution d'une id unique
// - Tous les champs doivent être remplis
// - Les deux champs passwords doivent être identiques
// - Les champs ne doivent pas contenir dapostrophe
// - Le login ne doit pas déjà exister
// - Le mail ne doit pas être dans la blackliste
// - Envoi d'un mail avec une adresse de confirmation
//------------------------------------------------------
function inscription()
{
require "connect.inc.php";
$page=$serveur.$_SERVER["PHP_SELF"];
$nom=$_POST["nom"];
$pass=$_POST["pass"];
$pass2=$_POST["pass2"];
$email=$_POST["email"];
$IP=$_SERVER['REMOTE_ADDR'];
$heure=time();



//PHP Mailer
require("class.phpmailer.php");
        $mail = new PHPMailer();
        $mail->IsSMTP(); // set mailer to use SMTP
        $mail->Host = "smtp.wanadoo.fr"; // specify main and backup server
        $mail->SMTPAuth = true; // turn on SMTP authentication
        $mail->From = $headers;
        $mail->FromName = "JP";
        $mail->AddAddress('$email');
        $mail->AddReplyTo("
[mailto:jphilippev@hotmail.com
jphilippev@hotmail.com
]
");
        $mail->Subject = $subject;
        $mail->Body = $message;
        $mail->AltBody = $message;
        $mail->Send();





// Attendre quil ny ait pas dautres user avec le même numéro de session.
do
{
$uniqueid=md5(time());
$resultat = mysql_query("SELECT * FROM users WHERE uniqueid='$uniqueid'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));



// Vérification diverses et variées.
if($nom=="" || $pass=="" || $pass2=="" || $email==""){show_form($nom,$pass,$pass2,$email,'Certains champs ne sont pas remplis !');die();}
// Tous les champs doivent être remplis
if($pass!=$pass2){show_form($nom,$pass,$pass2,$email,'Le mot de passe et la confirmation sont différents.');die();}
// Le mot de passe et la confirmation doivent être identiques
if(!(!strrpos($_POST["nom"], "'") && !strrpos($_POST["pass"], "'") && !strrpos($_POST["email"], "'"))){show_form($nom,$pass,$pass2,$email,'Ne pas utiliser de caractères spéciaux');die();}
// Eviter les failles SQL
$resultat = mysql_query("SELECT * FROM users WHERE userid='$nom'");
if(false!=($ligne = mysql_fetch_array ($resultat))){show_form($nom,$pass,$pass2,$email,"Le membre (".$nom.") existe déjà");die();} 
// Si le login est déjà pris
$resultat = mysql_query("SELECT * FROM users WHERE email='$email' AND level='blacklist'");
if(false!=($ligne = mysql_fetch_array ($resultat))){show_form($nom,$pass,$pass2,$email,"L'adresse e-mail (".$email.") est blacklistée. Utilisez une autre adresse mail.");die();}  
// Si le-mail est dans la blacklist



$subject  = "Veuillez confirmer votre inscription";
$headers  = "From:
[mailto:moi@hotmail.com\n
moi@hotmail.com\n
]
";
$message  = "Veuillez confirmer votre inscription\n";
$message .= "Bonjour ".$nom."\n\n";
$message .= "Vous avez reçu ce mail parce que vous ou quelqu'un d'autre utilisant votre adresse mail s'est enregistré sur le site ".$site_name.".\n";
$message .= "Pour valider cet inscription, cliquez sur ce lien :\n ".$page."?code=".$uniqueid."&BL=0 \n";
$message .= "Si vous vous n'êtes pas inscrit sur ".$site_name.", veuillez ignorer ce message et accepter nos excuses.\n";
$message .= "Vous pouvez aussi choisir d'ajouter votre mail à notre blacklist pour ne plus recevoir de mail d'inscription de notre part en cliquant sur ce lien :\n ".$page."?code=".$uniqueid."&BL=1 \n";
$message .= "Votre e-mail a été envoyé de l'IP ".$IP.".\n\n";
$message .= "Cordialement,\n";
$message .= "Le Webmaster";



// Envoi du mail
if(@mail($email, $subject, $message, $headers))
    {
    $query = "INSERT INTO users VALUES ('$nom','$pass','$uniqueid','en_attente','$email','$heure','$IP')";
 // On ajoute le membre à la liste avec le status en attente
    mysql_query($query);
    mysql_close();



    $page_confirmation  = "Merci !

Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".

";
    $page_confirmation .= "Veuillez confirmer l'inscription en cliquant sur le lien se trouvant sur le mail.

";
    echo $page_confirmation;
    }
else
{
     show_form($nom,$pass,$pass2,$email,"Le mail de confirmation n'a pu être envoyé. Peut-être que l'adresse n'est pas valide. Veuillez contacter le webmaster s'il vous plait.");
}
}



//------------------------------------------------------
// Fonction Formulaire
// - Retourne le formulaire avec les messages derreurs
//------------------------------------------------------
function show_form($nom="",$pass="",$pass2="",$email="",$error="")
{
$page_inscription  = "<form action="".$_SERVER["PHP_SELF"]."" method="post">";
$page_inscription .= "Merci de remplir le formulaire ci-dessous :

";
$page_inscription .= "Login désiré :

";
$page_inscription .= "Mot de passe :

";
$page_inscription .= "Confirmation du mot de passe :</td><td>

";
$page_inscription .= "E-mail :

";
$page_inscription .= "

";
$page_inscription .= "".$error."

";
$page_inscription .= "</form>";
echo $page_inscription;
}



//-------------------------------------------------------------------------------
// Fonction de vérification de l'adresse de confirmation
// - Suppression des utilisateurs nayant pas confirmer avant la durée impartie
// - Extraction de la personne concernée
// - Validation de son enregistrement
// - Si l'on veut être blacklisté, après confirmation on effectue le blacklistage
// - Le webmaster recoit un mail lorsque linscription est validé
//-------------------------------------------------------------------------------
function code_check($code="",$BL="")
{
require "connect.inc.php";





$heure=time();



// On profite de loccasion pour supprimer les users nayant pas confirmé dans la durée impartie
$heure2=$heure-$validite;
mysql_query("DELETE FROM users WHERE heure<$heure2 AND level='en_attente'");



// On extrait la personne qui souhaite valider son inscription
$uniqueid=$code;$resultat mysql_query("SELECT * FROM users WHERE uniqueid'$uniqueid' AND level='en_attente'");
if(false==($ligne = mysql_fetch_array ($resultat)))
{
mysql_close();
$page_validation = "Ce code n'existe pas, est expiré ou à déjà été validé, veuillez remplir à nouveau le formaulaire : [mailto:ne_pas_repondre@free.fr\n
ne_pas_repondre@free.fr\n
]
";
       @mail($adresse_webmaster, $subject, $message, $headers);
      }
  }
  // Si l'utilisateur vient pour être blacklisté, on passe son level de en_attente à blacklist
  // Mais avant une petite confirmation
  if($BL==1)
  {
      $page_validation = "Vous souhaitez ajouter votre adresse mail à notre blackliste. Cliquez ici pour que vous puissiez confirmer.";
  }
  // Si lutilisateur a confirmé qu'il veut être dans la liste noire, on l'y met
  if($BL==2)
  {
      mysql_query("UPDATE users SET level='blacklist' WHERE uniqueid ='$uniqueid' AND level='en_attente'");
      $page_validation = 'Votre e-mail a été blacklisté. Vous ne receverez plus aucun e-mail de notre part.';
  }
  mysql_close();
}
echo "".$page_validation."

";
}
?>



en fait je sais pas ou placer le petit code que tu m'as donné..
vu que je dois envoyer le formulaire avec les variable qu'il y a dedans
je pense a la fin mais bon je prefere demander

merci

www.creativs.fr
Commenter la réponse de jphilippev
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
0
Merci
je pense que tu peux le mettre dans ton if ($mail_controle==1)
require("class.phpmailer.php");
        $mail = new PHPMailer();
        $mail->IsSMTP(); // set mailer to use SMTP
        $mail->Host = "smtp.wanadoo.fr"; // specify main and backup server
        $mail->SMTPAuth = true; // turn on SMTP authentication
        $mail->From = $headers;
        $mail->FromName = "JP";
        $mail->AddAddress('$email');
        $mail->AddReplyTo("[mailto:jphilippev@hotmail.com jphilippev@hotmail.com]");
        $mail->Subject = "Nouvelle inscription sur ".$site_name;
$message="Bonjour,\n\n";
       $message.="Un nouveau membre vient de s'inscrire :\n";
       $message.="Nom : ".$ligne["userid"]."\n";
       $message.="E-Mail : ".$ligne["email"]."\n";
        $mail->Body = $message;
        $mail->AltBody = $message;
        $mail->Send();
je pense que ca devrais fonctionné


Personne ne peut se permettre de juger l'autre....
Commenter la réponse de cs_sebastien_et_typh
Messages postés
3
Date d'inscription
jeudi 12 novembre 2009
Statut
Membre
Dernière intervention
19 novembre 2009
0
Merci
Bonjour,
je cherche à envoyer un mail par php mailer. L'adresse de laquelle j'envoie est fecoucou@gmail.com et celle à laquelle je reçois est fecoucou@hotmail.com. Voici mon code :

require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server
$mail->Port = 587;
$mail->Username = "fecoucou";
$mail->Password = "motdepasse";//caché pour la circonstance
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->From = "fecoucou@gmail.com";
$mail->FromName = "felix";
$mail->AddAddress('fecoucou@hotmail.com');
$mail->Subject = "ça marche ou ça marche pas!";
$mail->Body = "Hi,How are you?";
$mail->AltBody = "Hi,How are you?";
$mail->Send();

La réponse de firefox est la suivante :
SMTP Error: Could not connect to SMTP host.

Y a qqn qu'a une idée ??
Merci ...
Commenter la réponse de cs_fecou