Formulaire html envoi par mail
Résolu
js95
Messages postés
773
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je viens de créer mon premier site. J'ai fait un formulaire dessus pour que les internautes puissent me poser des questions. J'aimerais que le contenu du formulaire soit envoyé sous forme de mail sur mon adresse mail.
Mon formulaire est ici : https://www.000webhost.com/migrate?static=true#question
Le problème est qu'au lieu d'envoyer le mail, le bouton envoyer ouvre Outlook, ce que je ne veux pas. J'ai lu plusieurs pages à ce sujet, il paraît qu'il faut utiliser du php... Mais je ne comprends rien, je n'ai pas appris le php. Pouvez-vous m'aider s'il vous plaît ?
Merci d'avance.
je viens de créer mon premier site. J'ai fait un formulaire dessus pour que les internautes puissent me poser des questions. J'aimerais que le contenu du formulaire soit envoyé sous forme de mail sur mon adresse mail.
Mon formulaire est ici : https://www.000webhost.com/migrate?static=true#question
Le problème est qu'au lieu d'envoyer le mail, le bouton envoyer ouvre Outlook, ce que je ne veux pas. J'ai lu plusieurs pages à ce sujet, il paraît qu'il faut utiliser du php... Mais je ne comprends rien, je n'ai pas appris le php. Pouvez-vous m'aider s'il vous plaît ?
Merci d'avance.
A voir également:
- Formulaire html envoi par mail
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Programmer envoi mail gmail - Guide
- Editeur html - Télécharger - HTML
- Publipostage mail - Accueil - Word
7 réponses
Fallait le préciser, j'ai quelques tutoriels pour créer des formulaires et les envoyer par email ... sans ouvrir le client de messagerie.
Ok, je vais être clair...
Je dois apprendre comment cela fonctionne (pas d'assistant), je souhaiterais donc savoir comment envoyer ce mail. Le mail qu'affiche Outlook me convient mais j'aimerais qu'il soit envoyé et qu'il ne s'ouvre pas. Mon formulaire marche, il faut juste ajouter le code pour l'envoi.
Je dois apprendre comment cela fonctionne (pas d'assistant), je souhaiterais donc savoir comment envoyer ce mail. Le mail qu'affiche Outlook me convient mais j'aimerais qu'il soit envoyé et qu'il ne s'ouvre pas. Mon formulaire marche, il faut juste ajouter le code pour l'envoi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le code de mon formulaire (car je l'ai masqué sur le site (ça ne sert à rien que des internautes m'envoient des messages sans que je les reçois)) :
<table align="center" width="630" border="3" bordercolor="#0000FF" bgcolor="#00FFFF">
<tr><td>
<font color="#0000FF" face="Times New Roman" size="3.5">
<form method="post" name="postquestion" enctype="text/plain" action="mailto:contsite4095@hotmail.fr">
Prénom :
<input type="text" size="31" maxlength="20" name="prenom" /><br />
Pseudonyme :
<input type="text" size="26" maxlength="20" name="pseudo" /><br />
Adresse e-mail :
<input type="text" size="24" name="email" /><br />
Type de message : <input type="radio" name="cat" value="question" checked="checked" /> question musicale <input type="radio" name="cat" value="suggestion" /> suggestion<br />
Catégorie :
<select name="categorie">
<option value="instruments">Instruments de musique et ensembles</option>
<option value="theorie">Solfège et lecture de partition (théorie)</option>
<option selected="true" value="autre">Générale</option>
<option value="jeux">Jeux</option>
</select>
<br />
Titre du message :<br />
<input type="text" name="sujet" size="92" maxlength="52" /><br />
Message :<br />
<textarea cols="72" rows="10" name="corps" value="texte">Bonjour,</textarea><br />
<br />
<input type="checkbox" name="oksite" checked="checked" value="siteok" /> Autoriser la publication du message sur ce site.<br />
<input type="checkbox" name="okmail" value="mailok" /> Envoi de la réponse par mail.*<br />
<br />
<input type="submit" name="envoi" value="Envoyer" />
<input type="reset" name="annule" value="Effacer" />
</form>
</font>
</td></tr></table>
<table align="center" width="630" border="3" bordercolor="#0000FF" bgcolor="#00FFFF">
<tr><td>
<font color="#0000FF" face="Times New Roman" size="3.5">
<form method="post" name="postquestion" enctype="text/plain" action="mailto:contsite4095@hotmail.fr">
Prénom :
<input type="text" size="31" maxlength="20" name="prenom" /><br />
Pseudonyme :
<input type="text" size="26" maxlength="20" name="pseudo" /><br />
Adresse e-mail :
<input type="text" size="24" name="email" /><br />
Type de message : <input type="radio" name="cat" value="question" checked="checked" /> question musicale <input type="radio" name="cat" value="suggestion" /> suggestion<br />
Catégorie :
<select name="categorie">
<option value="instruments">Instruments de musique et ensembles</option>
<option value="theorie">Solfège et lecture de partition (théorie)</option>
<option selected="true" value="autre">Générale</option>
<option value="jeux">Jeux</option>
</select>
<br />
Titre du message :<br />
<input type="text" name="sujet" size="92" maxlength="52" /><br />
Message :<br />
<textarea cols="72" rows="10" name="corps" value="texte">Bonjour,</textarea><br />
<br />
<input type="checkbox" name="oksite" checked="checked" value="siteok" /> Autoriser la publication du message sur ce site.<br />
<input type="checkbox" name="okmail" value="mailok" /> Envoi de la réponse par mail.*<br />
<br />
<input type="submit" name="envoi" value="Envoyer" />
<input type="reset" name="annule" value="Effacer" />
</form>
</font>
</td></tr></table>
Je t'ai déjà dit de te pencher sur celui la.
<?php define( 'MAIL_TO', /* >>>>> */'ton adresse@blablabla.fr'/* <<<<< */ ); //ajouter votre courriel define( 'MAIL_FROM', 'Votre E-mail' ); // valeur par défaut define( 'MAIL_OBJECT', 'objet du message' ); // valeur par défaut define( 'MAIL_MESSAGE', 'votre message' ); // valeur par défaut $mailSent = false; // drapeau qui aiguille l'affichage du formulaire OU du récapitulatif $errors = array(); // tableau des erreurs de saisie if( filter_has_var( INPUT_POST, 'send' ) ) // le formulaire a été soumis avec le bouton [Envoyer] { $from = filter_input( INPUT_POST, 'from', FILTER_VALIDATE_EMAIL ); if( $from === NULL || $from === MAIL_FROM ) // si le courriel fourni est vide OU égale à la valeur par défaut { $errors[] = 'Vous devez renseigner votre adresse de courrier électronique.'; } elseif( $from === false ) // si le courriel fourni n'est pas valide { $errors[] = 'L\'adresse de courrier électronique n\'est pas valide.'; $from = filter_input( INPUT_POST, 'from', FILTER_SANITIZE_EMAIL ); } $object = filter_input( INPUT_POST, 'object', FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_LOW ); if( $object === NULL OR $object === false OR empty( $object ) OR $object === MAIL_OBJECT ) // si l'objet fourni est vide, invalide ou égale à la valeur par défaut { $errors[] = 'Vous devez renseigner l\'objet.'; } /* pas besoin de nettoyer le message. / https://www.phpsecure.info/v2/article/MailHeadersInject.php / Logiquement, les parties message, To: et Subject: pourraient servir aussi à injecter quelque chose, mais la fonction mail() / filtre bien les deux dernières, et la première est le message, et à partir du moment où on a sauté une ligne dans l'envoi du mail, / c'est considéré comme du texte; le message ne saurait donc rester qu'un message.*/ $message = filter_input( INPUT_POST, 'message', FILTER_UNSAFE_RAW ); if( $message === NULL OR $message === false OR empty( $message ) OR $message === MAIL_MESSAGE ) // si le message fourni est vide ou égale à la valeur par défaut { $errors[] = 'Vous devez écrire un message.'; } if( count( $errors ) === 0 ) // si il n'y a pas d'erreurs { if( mail( MAIL_TO, $object, $message, "From: $from\nReply-to: $from\n" ) ) // tentative d'envoi du message { $mailSent = true; } else // échec de l'envoi { $errors[] = 'Votre message n\'a pas été envoyé.'; } } } else // le formulaire est affiché pour la première fois, avec les valeurs par défaut { $from = MAIL_FROM; $object = MAIL_OBJECT; $message = MAIL_MESSAGE; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Contact</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="content-language" content="fr" /> <style type="text/css"> html{ font-family:Geneva, Arial, Helvetica, sans-serif; margin:0; padding:0; font-size:.88em;} body{ width:772px; margin:0 auto; padding:0; } textarea{ width:772px; } label{ display:block; font-weight:bold; } p#welcome{ padding:10px 20px; border:1px dotted #00f; color:#00f; font-weight:bold; } ul{ padding:10px 20px; border:1px dotted #f00; color:#f00; font-weight:bold; } p#success{ padding:10px 20px; border:1px dotted #0f0; color:#0f0; font-weight:bold; } p em{ display:block; font-weight:normal; } </style> </head> <body> <img src="Image/contactlpm.png"> <hr /> <br> <a href="index.html">< - - - Retour à l'acceuil</a><hr /> <?php if( $mailSent === true ) // si le message a bien été envoyé, on affiche le récapitulatif { ?> <p id="success">Votre message a bien été envoyé.</p> <p><strong>Courriel pour la réponse :</strong><br /><?php echo( $from ); ?></p> <p><strong>Objet :</strong><br /><?php echo( $object ); ?></p> <p><strong>Message :</strong><br /><?php echo( nl2br( htmlspecialchars( $message ) ) ); ?></p> <a href="index.html">Retour à l'acceuil</a> <?php } else // le formulaire est affiché pour la première fois ou le formulaire a été soumis mais contenait des erreurs { if( count( $errors ) !== 0 ) { echo( "\t\t<ul>\n" ); foreach( $errors as $error ) { echo( "\t\t\t<li>$error</li>\n" ); } echo( "\t\t</ul>\n" ); } else { echo( "\t\t<p id=\"welcome\"><em>Tous les champs sont obligatoires</em></p>\n" ); } ?> <form id='contact' method="post" action="<?php echo( $_SERVER['REQUEST_URI'] ); ?>"> <p> <label for="from">Courriel pour la réponse</label> <input type="text" name="from" id="from" value="<?php echo( $from ); ?>" /> </p> <p> <label for="object">Objet</label> <input type="text" name="object" id="object" value="<?php echo( $object ); ?>" /> </p> <p> <label for="message">Message</label> <textarea name="message" id="message" rows="20" cols="80"><?php echo( $message ); ?></textarea> </p> <p> <input type="reset" name="reset" value="Effacer" /> <input type="submit" name="send" value="Envoyer" /> </p> </form> <?php } ?> </body> </html>
Je me suis débrouillé et maintenant ça marche, mais avec MON formulaire !!!
Je n'ai pas envie d'être désagréable, mais copier quelque chose sans comprendre ne m'intéresse pas ...
Je devais savoir faire le fichier pour mon formulaire.
Ma solution est ici :
https://forums.commentcamarche.net/forum/affich-15904304-pb-php-formulaire-envoi-par-mail#15
Je n'ai pas envie d'être désagréable, mais copier quelque chose sans comprendre ne m'intéresse pas ...
Je devais savoir faire le fichier pour mon formulaire.
Ma solution est ici :
https://forums.commentcamarche.net/forum/affich-15904304-pb-php-formulaire-envoi-par-mail#15