Envoyer un formulaire avec la fonction mail() au format html (en option)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 433 fois - Téléchargée 34 fois

Contenu du snippet

Ce code (qui n'est pas de moi) vous permet d envoyer un email avec la fonction Mail() mais au format HTML si le visiteur désire include du HTML dans son mail il lui suffit de cocher la case

Source / Exemple :


<?php 

  if ($mode == "submit") { 
    if ($enable_html != "on") { 
/* 
    Les utilisateurs peuvent ou non envoyer le mail au format HTML

  • /
$mail_body = htmlspecialchars ($mail_body); } // On construit les entetes $headers .= "MIME-Version: 1.0 \n"; $headers .= "Content-type: text/html; charset=iso-8859-1 \n"; $headers .= "from:$mail_from\r\nCc:$mail_cc\r\nBcc:$mail_bcc"; /* La fonction mail retourne TRUE si l envoi reussi ou FALSE si il échoue, donc on verifie le resultat
  • /
if (@mail ($mail_to, $mail_subject, $mail_body, $headers)) { print ("<h1><font color=\"#004000\">Email envoyé avec succès!</font></h1>"); } else { print ("<h1><font color=\"#880000\">Une erreur est apparue lors de l'envoi. Echec!</font></h1>"); } // On n'a plus besoin de voir le formulaire exit; } ?> <html> <head> <title>Send e-mail</title> <script language="javascript"> function DoSubmit () { /* Cette fonction verifie que les champs important on été remplis correctement Le return "" annule l'envoi du formulaire en cas d erreur
  • /
if (document.form.mail_from.value == "") { alert ("Vous avez oublié le champ 'De'."); document.form.mail_from.focus (); return ""; } if (document.form.mail_to.value == "") { alert ("Vous avez oublié le champ 'A'.."); document.form.mail_to.focus (); return ""; } if (document.form.mail_subject.value == "") { alert ("Vous avez oublié le champ 'Sujet'."); document.form.mail_subject.focus (); return ""; } if (document.form.mail_body.value == "") { alert ("Vous avez oublié le champ 'Message'."); document.form.mail_body.focus (); return ""; } document.form.submit (); } </script> </head> <body> <!-- $PHP_SELF permet au formulaire de marcher meme si vous renommez ce fichier --> <form action="<?php print ($PHP_SELF); ?>" method="post" name="form"> <table> <tr> <td>De:</td> <td><input type="text" name="mail_from" size="40"></td> </tr> <tr> <td>A:</td> <td><input type="text" name="mail_to" size="40"></td> </tr> <tr> <td>Cc:</td> <td><input type="text" name="mail_cc" size="40"></td> </tr> <tr> <td>Ccc:</td> <td><input type="text" name="mail_bcc" size="40"></td> </tr> <tr> <td>Sujet:</td> <td><input type="text" name="mail_subject" size="40"></td> </tr> <tr> <td valign="top">Message:</td> <td><textarea name="mail_body" cols="40" rows="10"></textarea></td> </tr> <tr> <td></td> <td><input type="checkbox" name="enable_html"> activer le HTML dans ce message.</td> </tr> <tr> <td><input type="hidden" name="mode" value="submit"></td> <td><input type="button" onclick="DoSubmit ()" value="Send e-mail"></td> </tr> </table> </form> </body> </html>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
688
Date d'inscription
mercredi 6 avril 2005
Statut
Membre
Dernière intervention
2 juin 2006
1
Magidev dit"Ce code (qui n'est pas de moi) vous permet d envoyer un email avec la fonction Mail() mais au format HTML si le visiteur désire include du HTML dans son mail il lui suffit de cocher la case"

------> tu pourrais quand meme citer tes sources !!!En plus, un truk kom ca, tu pouvais le faire tt seul!!Et puis, le comble de l' affaire, ca n'a pas l' air de fonctionner !!


1/10

1, pour le copier/coller qui t'a pris 1/2s

salut

-->Pas trés simpa )-:
Messages postés
121
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 janvier 2006

hello !

j'ai pris ton code, je l'ai mis sur une page blanche. je la teste erreur a la 3eme ligne de code ?
je connais pas les mail html et je trouve pas de tuto correct, pouriez vous m'en donnez ou bien meme m'aider a comprendre pourquoi il me sors une erreur.
Messages postés
67
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
13 septembre 2006

exact, bloquer l'envoi de mail à un même destinataire est une idée ;o)
Il est vrai que si ce code sert juste pour une page perso, c'est parfait ;)
Plopman
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

Merci pour vos commentaires, c'est vrai qu'il est important de limiter l'envoi de mail, mais qui a dit que on laissait tout un chacun envoyer les mail qu'il voulait ;-) On pourrait par exemple utiliser ce code dans un page administration, ou alors bloquer le mail du destinataire pour envoyer au webmaster par exemple. Mais ce sont des bonnes remarques. Le but ici était pluto d'envoyer un mail au format HTML

merci pour vos commentaires, bonne prog ;-)
Messages postés
67
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
13 septembre 2006

sympa mais même commantaire que juki_webmaster. Limité les mail, c'est super important si tu veux pas de prendre des plaintes ;o)
Plopman
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.