Envoi de formulaire par mail html
Résolu
guedo
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
guedo Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
guedo Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous je viens de m'inscrire,
j'aurais besoin d'aide par rapport a la programmation de mon site.
j'ai déjà rédiger le corps de mes formulaire avec a la fin le bouton envoyer.
j'aimerais maintenant faire en sorte que lorsque le formulaire est validez par l'utilisateur, je reçois le formulaire par mail.
Merci de bien vouloir m'aider.
j'aurais besoin d'aide par rapport a la programmation de mon site.
j'ai déjà rédiger le corps de mes formulaire avec a la fin le bouton envoyer.
j'aimerais maintenant faire en sorte que lorsque le formulaire est validez par l'utilisateur, je reçois le formulaire par mail.
Merci de bien vouloir m'aider.
A voir également:
- Envoyer les données d'un formulaire html par mail
- Whatsapp formulaire opposition - Guide
- Gmail envoyer un mail - Guide
- Formulaire de réclamation facebook - Guide
- Supprimer les données de navigation - Guide
- Envoyer un mail en cci - Guide
6 réponses
<?php //--------------------------------------------------------- // On "importe" la class PHPMailer. //--------------------------------------------------------- require_once("./PHPMailer/class.phpmailer.php"); require_once("./PHPMailer/class.smtp.php"); //--------------------------------------------------------- // Definition des constantes : //--------------------------------------------------------- define('GUSER', 'tonEmail@gmail.com'); // GMail username define('GPWD', 'lePassword'); // GMail password //--------------------------------------------------------- //fonction d'envoie de mail //--------------------------------------------------------- function sendMail($to, $from, $from_name, $subject, $body) { global $error; $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail $mail->Host = 'smtp.gmail.com'; $mail->Port = 465; $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($from, $from_name); $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress($to); if(!$mail->Send()) { $error = 'Mail error: '.$mail->ErrorInfo; return false; } else { $error = 'Message sent!'; return true; } } //--------------------------------------------------------- // ON REGARDE SI LE FORMULAIRE A ETE VALIDE //--------------------------------------------------------- if(isset($_POST['email'])){ // on récupère le contenu des variables $nom = isset($_POST['nom'])?$_POST['nom']:''; $phone = isset($_POST['phone'])?$_POST['phone']:''; $email = isset($_POST['email'])?$_POST['email']:''; $message = isset($_POST['message'])?$_POST['message']:''; $subject = "Test d'envoie de mail"; $textMsg = ""; $textMsg .= "Bonjour M./Mme ".$nom; $textMsg .= "tel :".$phone; $textMsg .= "Message :".$message; $to = $email; $from = "moi@mondomaine.fr"; $from_name = "moi moi moi"; if(!sendMail($to, $from, $from_name, $subject, $textMsg)){ echo "<pre>err: ".$error."</pre>"; }else{ echo " <pre> MESSAGE ENVOYE ... </pre>"; } }else{ echo "<pre> Vous n'avez pas renseigné votre email..</pre>"; } ?> <html> <head><title>TEST FORMULAIRE</title> </head> <body> <div class="row"> <div class="col-md-8"> <h3>Envoyez nous un message</h3> <form name="sentMessage" id="contactForm" METHOD="post" action=""> <div class="control-group form-group"> <div class="controls"> <label>Nom Prénom:</label> <input type="text" class="form-control" name="name" required data-validation-required-message="Please enter your name."> <p class="help-block"></p> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Telephone:</label> <input type="tel" class="form-control" name="phone" required data-validation-required-message="Please enter your phone number."> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Email:</label> <input type="email" class="form-control" name="email" required data-validation-required-message="Please enter your email address."> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Message:</label> <textarea rows="10" cols="100" class="form-control" name="message" required data-validation-required-message="Please enter your message" maxlength="999" style="resize:none"></textarea> </div> </div> <div id="success"></div> <!-- For success/fail messages --> <input type="submit" class="btn btn-primary" value='Envoyer'> </form> </div> </div> </body> </html>
Voici déjà un premier exemple :
1 - "installation" de phpmailer
Pour que ça fonctionne.. tu télécharge phpmailer..
et tu le dézipe dans le même répertoire que ta page...
..ou tu peux le mettre ailleurs.. mais dans ce cas il faut modifier le chemin dans les lignes :
2 - Paramétrage
Ensuite.. tu modifies les deux variables :
3 - Tu créés ton formulaire HTML
4 - Tu récupères les variables de ton formulaire en PHP
par exemple :
comme tu peux le voir.. j'ai utilisé deux choses importantes
A - ISSET ... permet de s'assurer que la variable existe
B - L'écriture "ternaire" ( condition ? valeur si vrai : valeur si faux) ... c'est une autre façon de faire des IF/ELSE..
5 - Tu les envoies dans la fonction
<?php //--------------------------------------------------------- // On "importe" la class PHPMailer. //--------------------------------------------------------- require_once("./PHPMailer/class.phpmailer.php"); require_once("./PHPMailer/class.smtp.php"); //--------------------------------------------------------- // Definition des constantes : //--------------------------------------------------------- define('GUSER', 'tonadresseEmail@gmail.com'); // GMail username define('GPWD', 'sonMotdePass'); // GMail password //--------------------------------------------------------- //fonction d'envoie de mail //--------------------------------------------------------- function sendMail($to, $from, $from_name, $subject, $body) { global $error; $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail $mail->Host = 'smtp.gmail.com'; $mail->Port = 465; $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($from, $from_name); $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress($to); if(!$mail->Send()) { $error = 'Mail error: '.$mail->ErrorInfo; return false; } else { $error = 'Message sent!'; return true; } } //--------------------------------------------------------- // ON REGARDE SI LE FORMULAIRE A ETE VALIDE //--------------------------------------------------------- if(isset($_POST['valider'])){ // on récupère le contenu des variables $nom = isset($_POST['nom'])?$_POST['nom']:''; $prenom = isset($_POST['prenom'])?$_POST['prenom']:''; $age = isset($_POST['age'])?$_POST['age']:''; $email = isset($_POST['email'])?$_POST['email']:''; $subject = "Test d'envoie de mail"; $textMsg = ""; $textMsg .= "Bonjour M./Mme ".$nom." ".$prenom; $textMsg .= "<br>Vous avez indiqué avoir : ".$age." ans."; $textMsg .= "<br>Merci."; $to = $email; $from = "moi@mondomaine.fr"; $from_name = "moi moi moi"; if(!sendMail($to, $from, $from_name, $subject, $textMsg)){ echo "<pre>err: ".$error."</pre>"; }else{ echo " <pre> MESSAGE ENVOYE ... </pre>"; } } ?> <html> <head><title>TEST FORMULAIRE</title> </head> <body> <!-- FORMULAIRE HTML --> <form name="monForm" method="post" action=""> <label for="inp_nom"> NOM </label> <input type="text" name="nom" id="inp_nom" value=""> <br> <label for="inp_prenom"> PRENOM </label> <input type="text" name="prenom" id="inp_prenom" value=""> <br> <label for="inp_age"> AGE </label> <input type="text" name="age" id="inp_age" size="3" value=""> <br> <label for="inp_mail"> Email </label> <input type="text" name="email" id="inp_mail" value=""> <br> <input type="submit" name="valider" value="Go"> </form> </body> </html>
1 - "installation" de phpmailer
Pour que ça fonctionne.. tu télécharge phpmailer..
et tu le dézipe dans le même répertoire que ta page...
..ou tu peux le mettre ailleurs.. mais dans ce cas il faut modifier le chemin dans les lignes :
require_once("./PHPMailer/class.phpmailer.php"); require_once("./PHPMailer/class.smtp.php");
2 - Paramétrage
Ensuite.. tu modifies les deux variables :
define('GUSER', 'tonadresseEmail@gmail.com'); // GMail username define('GPWD', 'sonMotdePass'); // GMail password
3 - Tu créés ton formulaire HTML
4 - Tu récupères les variables de ton formulaire en PHP
par exemple :
$nom = isset($_POST['nom'])?$_POST['nom']:'';
comme tu peux le voir.. j'ai utilisé deux choses importantes
A - ISSET ... permet de s'assurer que la variable existe
B - L'écriture "ternaire" ( condition ? valeur si vrai : valeur si faux) ... c'est une autre façon de faire des IF/ELSE..
5 - Tu les envoies dans la fonction
sendMail($to, $from, $from_name, $subject, $body)
Bonjour,
Sur quoi bloques tu exactement ?
Qu'as tu essayé ?
A partir de quoi souhaites tu envoyer ton mail ? ( tu as un compte email que tu peux utiliser via SMTP ? )
Eventuellement, regarde la class PHPMailer : https://github.com/PHPMailer/PHPMailer
Et voici un petit tuto :
http://phpmailer.worxware.com/?pg=examplebgmail
Sur quoi bloques tu exactement ?
Qu'as tu essayé ?
A partir de quoi souhaites tu envoyer ton mail ? ( tu as un compte email que tu peux utiliser via SMTP ? )
Eventuellement, regarde la class PHPMailer : https://github.com/PHPMailer/PHPMailer
Et voici un petit tuto :
http://phpmailer.worxware.com/?pg=examplebgmail
Merci jordane45 pour ta consideration.
je n'ai encore rien essayer a ce propos je sais uniquement qu'il faut utiliser du php .
j'ai une adresse gmail normal.
et j'ai trouver ce fichier
est ce que tu pourais m'aider a le configurer stp ?
est-il possible d'utiliser une adresse gmail classique pour cette fonction ?
Peut-on faire des test sur le bon fonctionnement de cette fonction sans avoir mon site en ligne (j'utilise notepad++ et je launch in chrome pour les test)?
Merci encore
EDIT : Ajout des balises de code.
je n'ai encore rien essayer a ce propos je sais uniquement qu'il faut utiliser du php .
j'ai une adresse gmail normal.
et j'ai trouver ce fichier
<?php // check if fields passed are empty if(empty($_POST['name']) || empty($_POST['phone']) || empty($_POST['email']) || empty($_POST['message']) || !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) { echo "No arguments Provided!"; return false; } $name = $_POST['name']; $phone = $_POST['phone']; $email_address = $_POST['email']; $message = $_POST['message']; // create email body and send it $to = 'your-email@your-domain.com'; // PUT YOUR EMAIL ADDRESS HERE $email_subject = "Modern Business Contact Form: $name"; // EDIT THE EMAIL SUBJECT LINE HERE $email_body = "You have received a new message from your website's contact form.\n\n"."Here are the details:\n\nName: $name\n\nPhone: $phone\n\nEmail: $email_address\n\nMessage:\n$message"; $headers = "From: noreply@your-domain.com\n"; $headers .= "Reply-To: $email_address"; mail($to,$email_subject,$email_body,$headers); return true; ?>
est ce que tu pourais m'aider a le configurer stp ?
est-il possible d'utiliser une adresse gmail classique pour cette fonction ?
Peut-on faire des test sur le bon fonctionnement de cette fonction sans avoir mon site en ligne (j'utilise notepad++ et je launch in chrome pour les test)?
Merci encore
EDIT : Ajout des balises de code.
Ce bout de code ne fonctionnera pas en local sur ton poste ( hormis en faisant plein de paramétrages divers et variés sur ton wampserver (ou easyPhp.. ou tout autre moteur PHP/mysql que tu y aurais installé...)
C'est pour ça que je t'ai proposé d'utiliser la class PHPMAILER.
Pour l'utilisation avec GMAIL . tout y est indiqué...(dans le tuto que je t'ai indiqué dans ma réponse précédente).
PS: Pour tes prochains messages.. merci d'utiliser les balises de code!
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
C'est pour ça que je t'ai proposé d'utiliser la class PHPMAILER.
Pour l'utilisation avec GMAIL . tout y est indiqué...(dans le tuto que je t'ai indiqué dans ma réponse précédente).
PS: Pour tes prochains messages.. merci d'utiliser les balises de code!
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
rebonjour jordane45 j'espère que je te dérange pas mais j'ai regarder les liens que tu m'as joint dans ta première réponse:
https://github.com/PHPMailer/PHPMailer pour la classe PHPMAILER
et http://phpmailer.worxware.com/?pg=examplebgmail
mais je ne comprend pas le fonctionnement de la classe (je ne comprend pas comment l'appliquer) je sais que c'est pas du tout la politique des blogueurs de procédé de cette façon, mais moi j'apprend en voyant l'application des exercice, j'ai besoin d'exemple que je comprend pour pouvoir les appliquer par la suite .
J'ai en effet a configurer 3 formulaires a envoyer automatiquement par mail.
puis-je te demander de me le faire pour mon formulaire de contact que je te joindrais si tu me l'accorde (je pourrais te joindre les autre formulaire a configurer comme preuve que je dois les faire).
Merci d'avance.
https://github.com/PHPMailer/PHPMailer pour la classe PHPMAILER
et http://phpmailer.worxware.com/?pg=examplebgmail
mais je ne comprend pas le fonctionnement de la classe (je ne comprend pas comment l'appliquer) je sais que c'est pas du tout la politique des blogueurs de procédé de cette façon, mais moi j'apprend en voyant l'application des exercice, j'ai besoin d'exemple que je comprend pour pouvoir les appliquer par la suite .
J'ai en effet a configurer 3 formulaires a envoyer automatiquement par mail.
puis-je te demander de me le faire pour mon formulaire de contact que je te joindrais si tu me l'accorde (je pourrais te joindre les autre formulaire a configurer comme preuve que je dois les faire).
Merci d'avance.
Dans ce cas....
Postes ici ton premier formulaire HTML.
Je vais essayer de t'en faire un exemple facile à utiliser....
NB : AVANT de poster ton code, merci d'aller lire le contenu de ce lien:
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Il explique comment poster proprement du code sur ce site.
Postes ici ton premier formulaire HTML.
Je vais essayer de t'en faire un exemple facile à utiliser....
NB : AVANT de poster ton code, merci d'aller lire le contenu de ce lien:
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Il explique comment poster proprement du code sur ce site.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<div class="row"> <div class="col-md-8"> <h3>Envoyez nous un message</h3> <form name="sentMessage" id="contactForm" novalidate METHOD=POST> <div class="control-group form-group"> <div class="controls"> <label>Nom Prénom:</label> <input type="text" class="form-control" id="name" required data-validation-required-message="Please enter your name."> <p class="help-block"></p> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Telephone:</label> <input type="tel" class="form-control" id="phone" required data-validation-required-message="Please enter your phone number."> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Email:</label> <input type="email" class="form-control" id="email" required data-validation-required-message="Please enter your email address."> </div> </div> <div class="control-group form-group"> <div class="controls"> <label>Message:</label> <textarea rows="10" cols="100" class="form-control" id="message" required data-validation-required-message="Please enter your message" maxlength="999" style="resize:none"></textarea> </div> </div> <div id="success"></div> <!-- For success/fail messages --> <button type="submit" class="btn btn-primary">Envoyer</button> </form> </div> </div>
tu peut pas savoir comment tu me sauve (je suis en contrat de professionnalisation et mon tuteur ne m'aide pas du tout)