Envoyer un mail en php
Fermé
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
-
3 juin 2010 à 13:58
Xella60 Messages postés 65 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 25 février 2011 - 4 juin 2010 à 07:32
Xella60 Messages postés 65 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 25 février 2011 - 4 juin 2010 à 07:32
A voir également:
- Envoyer un mail en php
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Gmail envoyer un mail - Guide
- Envoyer un mail en copie cachée - Guide
- Envoyer un mail avec accusé de reception gmail - Guide
11 réponses
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
3 juin 2010 à 14:12
3 juin 2010 à 14:12
je te conseil de jeter un coup d oeil du coté de PHPMailer, je m'y replonge aussi et te donne des nouvelles
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
Modifié par Gremy87 le 3/06/2010 à 14:22
Modifié par Gremy87 le 3/06/2010 à 14:22
alors télécharge la classe PHPMailer sur le net (ca doit se trouver assez facilement)
ensuite dans le action de ton formulaire tu amène sur une page PHP ou tu trouvera ca:
voila le contenu du mail sera en HTML donc la présentation c est toi qui la gère.
je te poste une adresse pour la classe PHPMailer si j en trouve une vite fait ^^
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
ensuite dans le action de ton formulaire tu amène sur une page PHP ou tu trouvera ca:
include_once('mailer/class.phpmailer.php'); $mail = new PHPMailer(); // creation d'une nouvelle instance de PHPMailer $ad_dest=//adresse du destinataire $mail->AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER) $mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = ""; // GMAIL username $mail->Password = ""; // GMAIL password //$mail->SetFrom('noreply@ ', '', 1); $mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant $mail->Subject = ""; // sujet du mail $message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> </head> <body > </body> </html>'; $mail->MsgHTML($message); $mail->IsHTML(true); // Spécifie que le corps du mail est du HTML if( !$mail->Send() ) // envoi { echo "Echec de l'envoi du mail, Erreur n°: " .$mail->ErrorInfo; } else { echo 'Mail envoyé avec succès !'; } $mail->SmtpClose(); unset($mail);
voila le contenu du mail sera en HTML donc la présentation c est toi qui la gère.
je te poste une adresse pour la classe PHPMailer si j en trouve une vite fait ^^
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
3 juin 2010 à 14:30
3 juin 2010 à 14:30
https://sourceforge.net/projects/phpmailer/files/
voila en adaptant un peu le tout ca devrais aller
voila en adaptant un peu le tout ca devrais aller
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
3
3 juin 2010 à 14:34
3 juin 2010 à 14:34
ok merci de tes conseils je vais essayer tout sa et je vous dis si j'ai encore un soucis.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
3
3 juin 2010 à 14:52
3 juin 2010 à 14:52
je ne comprend pas le code, comment puis-je récupérer dans mon e-mail les valeurs de mon formulaire ?
xMiLeY
Messages postés
68
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
15 juin 2010
7
3 juin 2010 à 15:01
3 juin 2010 à 15:01
ben dans $message tu rajoute des $_POST['nomduchampduformulaire'] aux endroits que tu veux :)
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
3 juin 2010 à 15:08
3 juin 2010 à 15:08
bon effectivement le code n est pas super simple a comprendre.
ton formulaire va envoyer des valeurs en POST.
toi tu vas les récupérer et les mettre dans le corps de ton message.
par exemple:
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body >
<h2>Demande de réservation de monsieur'.$_POST['nom'].' '.$_POST['prenom'].'</h2>
<p>Voici les coordonnées de cette personne :</p>
<p>nom: '.$_POST['nom'].'</p>
<p>prenom: '.$_POST['prenom'].'</p>
<p>adresse: '.$_POST['adresse'].'</p>
<p>code postal: '.$_POST['codepostal'].'</p>
<p>ville: '.$_POST['ville'].'</p>
<p>telephone: '.$_POST['telephone'].'</p>
<p>fax: '.$_POST['fax'].'</p>
<p>mobile:'.$_POST['mobile'].'</p>
<p>email: '.$_POST['email'].'</p>
<p>les informations de la reservation:</p>
<p>nombre de personnes: '.$_POST['nombre personnes'].'</p>
<p>date: '.$_POST['jour'].'/'.$_POST['mois'].'/'.$_POST['annee'].'</p>
<p>midi? '.isset($_POST['midi']).'</p>
<p>soir?'.isset($_POST['soir']).'</p>
</body>
</html>';
$mail->MsgHTML($message);
voila un exemple de mail que tu pourrais t envoyer.
dans le code de mon premier post tu as des choses a remplir.
j utilise le serveur smtp de gmail, il faut donc que tu ai un compte gmail et que tu rentre tes pseudo et mot de passe. il faut aussi l adresse de destination
ton formulaire va envoyer des valeurs en POST.
toi tu vas les récupérer et les mettre dans le corps de ton message.
par exemple:
$message = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
</head>
<body >
<h2>Demande de réservation de monsieur'.$_POST['nom'].' '.$_POST['prenom'].'</h2>
<p>Voici les coordonnées de cette personne :</p>
<p>nom: '.$_POST['nom'].'</p>
<p>prenom: '.$_POST['prenom'].'</p>
<p>adresse: '.$_POST['adresse'].'</p>
<p>code postal: '.$_POST['codepostal'].'</p>
<p>ville: '.$_POST['ville'].'</p>
<p>telephone: '.$_POST['telephone'].'</p>
<p>fax: '.$_POST['fax'].'</p>
<p>mobile:'.$_POST['mobile'].'</p>
<p>email: '.$_POST['email'].'</p>
<p>les informations de la reservation:</p>
<p>nombre de personnes: '.$_POST['nombre personnes'].'</p>
<p>date: '.$_POST['jour'].'/'.$_POST['mois'].'/'.$_POST['annee'].'</p>
<p>midi? '.isset($_POST['midi']).'</p>
<p>soir?'.isset($_POST['soir']).'</p>
</body>
</html>';
$mail->MsgHTML($message);
voila un exemple de mail que tu pourrais t envoyer.
dans le code de mon premier post tu as des choses a remplir.
j utilise le serveur smtp de gmail, il faut donc que tu ai un compte gmail et que tu rentre tes pseudo et mot de passe. il faut aussi l adresse de destination
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
3
3 juin 2010 à 15:18
3 juin 2010 à 15:18
J'ai fait le message comme tu me l'as conseillé, lorsque j'essai d'envoyer un message, cela m'affiche la page que j'appelle dans mon form action.
De plus je ne reçois même pas les valeurs de mon formulaire, voila ce que cela m'affiche lorsque je clique sur envoyer:
AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server //
$mail->Username = ""; // GMAIL username //
$mail->Password = ""; // GMAIL password //
$mail->SetFrom('noreply@ ', '', 1); //
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
$mail->Subject = "Reservation"; // sujet du mail
$message = ' Nom : $_POST['$nom'] Prénom : $_POST['$prenom'] N° et Adresse : $_POST['adresse'] Code postal : $_POST['codepostale'] Ville : $_POST['ville'] Tél: $_POST['telephone'] Fax :$_POST['fax'] Mobile : $_POST['mobile'] Email : $_POST['email'] Je souhaite réserver une table pour $_POST['personnes'] Date : $_POST['jour'] : $_POST['mois'] : $_POST['annee'] Je souhaite le(s) repa(s): $_POST['midi'] $_POST['soir'] '; $mail->MsgHTML($message);
$mail->IsHTML(true); // Spécifie que le corps du mail est du HTML
if( !$mail->Send() ) // envoi
{ echo "Echec de l'envoi du mail, Erreur n°: " .$mail->ErrorInfo; }
else { echo 'Mail envoyé avec succès !'; }
$mail->SmtpClose();
unset($mail); ?>
j'ai du mal a comprendre les $mail au départ, merci de votre aide.
De plus je ne reçois même pas les valeurs de mon formulaire, voila ce que cela m'affiche lorsque je clique sur envoyer:
AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server //
$mail->Username = ""; // GMAIL username //
$mail->Password = ""; // GMAIL password //
$mail->SetFrom('noreply@ ', '', 1); //
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
$mail->Subject = "Reservation"; // sujet du mail
$message = ' Nom : $_POST['$nom'] Prénom : $_POST['$prenom'] N° et Adresse : $_POST['adresse'] Code postal : $_POST['codepostale'] Ville : $_POST['ville'] Tél: $_POST['telephone'] Fax :$_POST['fax'] Mobile : $_POST['mobile'] Email : $_POST['email'] Je souhaite réserver une table pour $_POST['personnes'] Date : $_POST['jour'] : $_POST['mois'] : $_POST['annee'] Je souhaite le(s) repa(s): $_POST['midi'] $_POST['soir'] '; $mail->MsgHTML($message);
$mail->IsHTML(true); // Spécifie que le corps du mail est du HTML
if( !$mail->Send() ) // envoi
{ echo "Echec de l'envoi du mail, Erreur n°: " .$mail->ErrorInfo; }
else { echo 'Mail envoyé avec succès !'; }
$mail->SmtpClose();
unset($mail); ?>
j'ai du mal a comprendre les $mail au départ, merci de votre aide.
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
3 juin 2010 à 15:31
3 juin 2010 à 15:31
ça t'AFFICHE ça? c 'est pas censé t'afficher du PHP, t as un serveur web?
bon sinon dans le code que tu viens de poster il te manque le debut:
include_once('mailer/class.phpmailer.php');
$mail = new PHPMailer(); // creation d'une nouvelle instance de PHPMailer
$ad_dest=//adresse du destinataire
$mail->AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
bon ensuite je t'explique:
la variable $mail est une instance de PHPMailer
on appel ensuite plusieurs méthodes de la classe PHPMailer pour affecter des variables pour pouvoir envoyer l email.
on dit qu'on va utiliser le protocole SMTP:
$mail->IsSMTP(); // telling the class to use SMTP
on active l authentification du protocole SMTP:
$mail->SMTPAuth = true; // enable SMTP authentication
on definit le type de sécurité:
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
on spécifie le nom du serveur SMTP, la c est celui de GMAIL et le port qui sera utilisé:
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server //
la il faut que tu rentre ton nom d utilisateur GMAIL parce qu il faut un compte valide pour envoyer les mails
$mail->Username = ""; // GMAIL username //
ton mot de passe GMAIL
$mail->Password = ""; // GMAIL password //
le "from" du mail pour dire de qui vient le mail
$mail->SetFrom('noreply@ ', '', 1); //
l adresse de retour si echec
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
le sujet du mail:
$mail->Subject = "Reservation"; // sujet du mail
et ensuite vient le corps du mail qui sera du code HTML
cette ligne dit que le message est en HTML
$mail->IsHTML(true); // Spécifie que le corps du mail est du HTML
et la fonction d envoi:
if( !$mail->Send() ) // envoi
{ echo "Echec de l'envoi du mail, Erreur n°: " .$mail->ErrorInfo; }
else { echo 'Mail envoyé avec succès !'; }
$mail->SmtpClose();
unset($mail); ?>
bon sinon dans le code que tu viens de poster il te manque le debut:
include_once('mailer/class.phpmailer.php');
$mail = new PHPMailer(); // creation d'une nouvelle instance de PHPMailer
$ad_dest=//adresse du destinataire
$mail->AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
bon ensuite je t'explique:
la variable $mail est une instance de PHPMailer
on appel ensuite plusieurs méthodes de la classe PHPMailer pour affecter des variables pour pouvoir envoyer l email.
on dit qu'on va utiliser le protocole SMTP:
$mail->IsSMTP(); // telling the class to use SMTP
on active l authentification du protocole SMTP:
$mail->SMTPAuth = true; // enable SMTP authentication
on definit le type de sécurité:
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
on spécifie le nom du serveur SMTP, la c est celui de GMAIL et le port qui sera utilisé:
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server //
la il faut que tu rentre ton nom d utilisateur GMAIL parce qu il faut un compte valide pour envoyer les mails
$mail->Username = ""; // GMAIL username //
ton mot de passe GMAIL
$mail->Password = ""; // GMAIL password //
le "from" du mail pour dire de qui vient le mail
$mail->SetFrom('noreply@ ', '', 1); //
l adresse de retour si echec
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
le sujet du mail:
$mail->Subject = "Reservation"; // sujet du mail
et ensuite vient le corps du mail qui sera du code HTML
cette ligne dit que le message est en HTML
$mail->IsHTML(true); // Spécifie que le corps du mail est du HTML
et la fonction d envoi:
if( !$mail->Send() ) // envoi
{ echo "Echec de l'envoi du mail, Erreur n°: " .$mail->ErrorInfo; }
else { echo 'Mail envoyé avec succès !'; }
$mail->SmtpClose();
unset($mail); ?>
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
3
Modifié par Xella60 le 3/06/2010 à 15:43
Modifié par Xella60 le 3/06/2010 à 15:43
Voila mon code de départ
include_once('mailer/class.phpmailer.php');
$mail = new PHPMailer(); // creation d'une nouvelle instance de PHPMailer
$ad_dest=debby_60@hotmail.fr//adresse du destinataire
$mail->AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "XXXXXX"; // GMAIL username
$mail->Password = "XXXXX"; // GMAIL password
$mail->SetFrom('noreply@ ', '', 1);
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
$mail->Subject = "Reservation"; // sujet du mail
J'ai bien un serveur web mais la je testais en local c'est peut-être sa le problème!
include_once('mailer/class.phpmailer.php');
$mail = new PHPMailer(); // creation d'une nouvelle instance de PHPMailer
$ad_dest=debby_60@hotmail.fr//adresse du destinataire
$mail->AddAddress($ad_dest, ''); // ajout adresse destinataire et nom correspondant
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // Spécifie l'hôte SMTP. (sets GMAIL as the SMTP SERVER)
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "XXXXXX"; // GMAIL username
$mail->Password = "XXXXX"; // GMAIL password
$mail->SetFrom('noreply@ ', '', 1);
$mail->AddReplyTo("noreply@ ",""); // définit l'adresse de retour en cas d'échec et nom correspondant
$mail->Subject = "Reservation"; // sujet du mail
J'ai bien un serveur web mais la je testais en local c'est peut-être sa le problème!
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
3 juin 2010 à 15:40
3 juin 2010 à 15:40
bon je vais faire quelques test en local aussi et je te dis si ca vient de la ^^
Xella60
Messages postés
65
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
25 février 2011
3
4 juin 2010 à 07:32
4 juin 2010 à 07:32
Je n'ai toujours pas réussi, si quelqu'un a une solution je suis prenante!