begin process at 2012 05 27 20:04:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > ENVOYER UN FORMULAIRE AVEC LA FONCTION MAIL() AU FORMAT HTML (EN OPTION)

ENVOYER UN FORMULAIRE AVEC LA FONCTION MAIL() AU FORMAT HTML (EN OPTION)


 Information sur la source

Note :
5,25 / 10 - par 4 personnes
5,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Débutant Date de création :26/09/2004 Vu :22 001

Auteur : Magidev

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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>
<?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> 



 Sources du même auteur

NOMBRE DE JOURS ENTRE DEUX DATE EN UNE SEULE LIGNE
TUTORIAL : TOUS LES SECRETS DES SESSIONS ET DES COOKIES EN P...
Source avec Zip Source avec une capture APPLICATION : UN CALENDRIER VERTICAL MULTI-UTILISATEUR AVEC ...
ENVOI DE MAIL AVEC PIECE JOINTE
TUTORIAL : PHP CONSTRUIT LES BASES, LES TABLES ET LES CHAMPS...

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

Commentaires et avis

Commentaire de juki_webmaster le 26/09/2004 16:37:39

Salut,
C'est assez direct tout de même, pense ajouter plus de protection au niveau de :
if ($mode == "submit") {
    if ($enable_html != "on") {
type : mail_to != "" AND strlen($mail_to)
> 5 ... ajoute aussi soit htmlentities soit str_remplace pour chaque champ donnée par l'utilisateur, ajoute aussi un verificateur supplementaire pour verifier si l'adresse email est valide...
Et par dessus tout : un COOKIE pour limiter le nombre d'envoie d'email à la journer ou à l'heure.
Donc moi je trouve ton code incompler.
Je le note pas en concequence (manque trop de securité)

Commentaire de plopman le 28/09/2004 21:59:58

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

Commentaire de Magidev le 29/09/2004 11:07:37

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 ;-)

Commentaire de plopman le 29/09/2004 13:12:11

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

Commentaire de Vin Gazoil le 24/06/2005 14:53:54

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.

Commentaire de satellite34 le 12/08/2005 04:03:47

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 )-:

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales