#1 19-12-2007 01:43:14

Thibow
Administrateur
Lieu: Nord
Date d'inscription: 17-12-2007
Messages: 633
Site web

Envoie d' E-mail

Bien, suite a la demande d'un ami, voici un petit script d'envoie d'Email en php.
Biensur il faut que la fonction mail() dans php.ini soit activer pour que celui ci fonctionne ! ^^

(HS: J'ai mis en commentaire les différentes étapes pour la création de ce script.)


Code:

<?php
//Ecris par Thibow
//Pour Informatique-inside.com

  if ($mode == "submit") {
    if ($enable_html != "on") {
/*
   L'utilisateur ne veut pas envoyer le courrier électronique au format HTML, alors il faut se
    débarrasser de l'HTML dans le message.
*/
      $mail_body = htmlspecialchars ($mail_body);
    }

//  Maintenant, on fixe l'entete du Mail ...

    $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";

/*
Maintenant nous allons envoyer le mail... On utilise donc la fonction mail() de php ...
La fonction retourne TRUE en cas de succès et FALSE en cas d'échec. 
Nous pouvons l'utiliser pour nous assurer que le mail a été envoyé sans aucun problème. 
*/

    if (@mail ($mail_to, $mail_subject, $mail_body, $headers)) {
      print ("<h1><font color=\"#004000\">Envoie termine !</font></h1>");
    } else {
      print ("<h1><font color=\"#880000\">Une erreur est survenue lors de l'envoie du mail !</font></h1>");
    }

//  Nous n'avons pas besoin de présenter à nouveau le formulaire.

    exit;
  }
?>

<html>

<head>
<title>Envoie d' e-mail</title>
<script language="javascript">
  function DoSubmit ()
  {
/*
Ce script Javascript va nous permettre de verifier si tout les champs ont étaient bien remplie...
(J'ai pris ce petit script sur un forum qui le proposé ... Je n'est pas assez de notion en Javascript pour le 
coder moi même ...
*/

    if (document.form.mail_from.value == "") {
      alert ("You forgot to enter the 'from' field.");
      document.form.mail_from.focus ();
      return "";
    }

    if (document.form.mail_to.value == "") {
      alert ("You forgot to enter the 'to' field.");
      document.form.mail_to.focus ();
      return "";
    }

    if (document.form.mail_subject.value == "") {
      alert ("You forgot to enter the 'subject' field.");
      document.form.mail_subject.focus ();
      return "";
    }

    if (document.form.mail_body.value == "") {
      alert ("You forgot to enter the 'body' field.");
      document.form.mail_body.focus ();
      return "";
    }

    document.form.submit ();
  }
</script>
</head>

<body>
<!--
En fixant la forme de l'action à $ PHP_SELF, ce code fonctionne même lorsque vous modifiez le nom de email.php en ce que vous voulez (fichier. Php).
-->
<form action="<?php print ($PHP_SELF); ?>" method="post" name="form">
  <table>
    <tr>
      <td>From:</td>
      <td><input type="text" name="mail_from" size="40"></td>
    </tr>
    <tr>
      <td>To:</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>Bcc:</td>
      <td><input type="text" name="mail_bcc" size="40"></td>
    </tr>
    <tr>
      <td>Subject:</td>
      <td><input type="text" name="mail_subject" size="40"></td>
    </tr>
    <tr>
      <td valign="top">Body:</td>
      <td><textarea name="mail_body" cols="40" rows="10"></textarea></td>
    </tr>
    <tr>
      <td></td>
      <td><input type="checkbox" name="enable_html"> Pas de 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>

Hors ligne

 

#2 27-12-2007 19:20:48

Matt
Insideur
Date d'inscription: 26-12-2007
Messages: 16
Site web

Re: Envoie d' E-mail

Merci pour ce code mais si le client a son JS de désactivé sur son poste machine, ton code il va pas bien fonctionné. Je crois que gérer les erreurs  en PHP est beaucoup mieux.
Le top est peut-etre d'avoir les 2 !!

Qu'en penses tu ?

Hors ligne

 

#3 27-12-2007 21:04:28

Thibow
Administrateur
Lieu: Nord
Date d'inscription: 17-12-2007
Messages: 633
Site web

Re: Envoie d' E-mail

Matt a écrit:

Merci pour ce code mais si le client a son JS de désactivé sur son poste machine, ton code il va pas bien fonctionné. Je crois que gérer les erreurs  en PHP est beaucoup mieux.
Le top est peut-etre d'avoir les 2 !!

Qu'en penses tu ?

En effet, tu as raison hm

Qu'est ce que tu pourrais proposer pour améliorer ce script ?

Hors ligne

 

#4 28-12-2007 09:13:06

Matt
Insideur
Date d'inscription: 26-12-2007
Messages: 16
Site web

Re: Envoie d' E-mail

gérer les erreurs en PHP ^^

1° regarder la validité du mail:
http://www.phpsources.org/scripts110-PHP.htm

2° regarder si les champs sont remplies:
if (!empty($nom_pseudo) AND !empty($texte)) mail();
...

et voilà !

Hors ligne

 

#5 28-12-2007 13:35:32

Thibow
Administrateur
Lieu: Nord
Date d'inscription: 17-12-2007
Messages: 633
Site web

Re: Envoie d' E-mail

Oui en effet :hum: smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr