Envoi de formulaire par mail html
Résolu/Fermé
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
-
26 nov. 2014 à 11:07
guedo Messages postés 77 Date d'inscription mercredi 26 novembre 2014 Statut Membre Dernière intervention 10 avril 2019 - 27 nov. 2014 à 15:53
guedo Messages postés 77 Date d'inscription mercredi 26 novembre 2014 Statut Membre Dernière intervention 10 avril 2019 - 27 nov. 2014 à 15:53
A voir également:
- Envoyer les données d'un formulaire html par mail
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Gmail envoyer un mail - Guide
- Formulaire de réclamation facebook - Guide
- Editeur html - Télécharger - HTML
6 réponses
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
27 nov. 2014 à 15:31
27 nov. 2014 à 15:31
<?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>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
27 nov. 2014 à 14:23
27 nov. 2014 à 14:23
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)
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
26 nov. 2014 à 12:53
26 nov. 2014 à 12:53
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
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
1
Modifié par jordane45 le 26/11/2014 à 14:40
Modifié par jordane45 le 26/11/2014 à 14:40
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.
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
26 nov. 2014 à 14:43
26 nov. 2014 à 14:43
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
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
1
26 nov. 2014 à 15:39
26 nov. 2014 à 15:39
ok
merci encore une fois j'espère pouvoir me débrouiller avec tes indications
merci encore une fois j'espère pouvoir me débrouiller avec tes indications
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
1
27 nov. 2014 à 12:46
27 nov. 2014 à 12:46
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.
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
27 nov. 2014 à 13:52
27 nov. 2014 à 13:52
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
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
1
Modifié par jordane45 le 27/11/2014 à 15:22
Modifié par jordane45 le 27/11/2014 à 15:22
<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>
guedo
Messages postés
77
Date d'inscription
mercredi 26 novembre 2014
Statut
Membre
Dernière intervention
10 avril 2019
1
27 nov. 2014 à 15:15
27 nov. 2014 à 15:15
Excuse moi j'ai validez la fonction html dans la zone de texte mais je sais pas si sa à marché
dautre part merci pour tes explications je continue de regardé mais je pense qu'un exemple adapté sur le formulaire que je t'ai donné me serait beaucoup plus comprehemsible
je te remercie pour tout
dautre part merci pour tes explications je continue de regardé mais je pense qu'un exemple adapté sur le formulaire que je t'ai donné me serait beaucoup plus comprehemsible
je te remercie pour tout
27 nov. 2014 à 15:53
tu peut pas savoir comment tu me sauve (je suis en contrat de professionnalisation et mon tuteur ne m'aide pas du tout)