Forum > PHP > Envoi d'un email depuis mon site

Envoi d'un email depuis mon site

Membre
# Le 19/09/2009 à 12h20
Bonjour,
j'aimerai faire un script en php permettant au visiteur de m'envoyer un email avec ses coordonnées. J'aimerai par exemple pouvoir lui demander son prénom et adresse email et que je reçois cet email quand il à cliqué sur envoyer:

Citation : mail
prénom:
message:
date envoi:

Merci a ceux qui pourront m'aider!
avatar de Tony_
Administrateur
# Le 19/09/2009 à 13h55
Bonjour. Je vais essayer de t'aider.
Tout d'abord, as-tu des notions en HTML et/ou en PHP?

Dans un premier temps il faut réaliser l'architecture de la page au format HTML. Dans les formulaires HTML il y a deux grand type de champ qui peuvent être remplis, les champs "une ligne" sur lesquels il n'est pas possible de rédiger un grand message (pas pratique) et les champs plusieurs ligne (ceux qui sont utilisé sur ce forum pour ajouter une réponse).
Voici un exemple très rapide du code HTML qui pourrait correspondre à vos besoins:
  1. <form method="post" action="">
  2. prénom: <input type="text" name="prenom" />
  3. message: <textarea name="message" cols="40" rows="5"></textarea>
  4. <input type="submit" name="submit" value="Envoyer" />
  5. </form>

Ce code est composé uniquement d'HTML. Pour que le formulaire soit traité lors de l'envoi, il faut utiliser du PHP. L'idéal est d'utiliser une condition "if" qui vérifie si l'internaute à cliquer sur le bouton "envoyer". Puis il faut traiter les données et envoyer l'email. Voici un code que j'ai réalisé très rapidement, qui est loin d'être parfait (je l'ai sécuriser très rapidement):
  1. <?php
  2. if (isset($_POST['submit'])))
  3. {
  4. $prenom = htmlentities($_POST['prenom']);
  5. $message = htmlentities($_POST['message']);
  6.  
  7. $msg = "Bonjour, un visiteur vous à laissez un message:<br /><br />";
  8. $msg .= "Prénom :\t$prenom<br />";
  9. $msg .= "Message :\t$message<br /><br />";
  10. $msg .= "Date d'envoi :\tdate('d/m/Y H\hi', $time() )<br /><br />";
  11.  
  12. $recipient = "adresse@example.com";
  13. $subject = "nouveau message";
  14.  
  15. $mailheaders = 'MIME-Version: 1.0' . "\r\n";
  16. $mailheaders .= 'From: "Site internet"<adresse@example.com>'."\n";
  17. $mailheaders .= 'Reply-To: adresse@example.com'."\n";
  18. $mailheaders .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  19.  
  20. mail($recipient, $subject, $msg, $mailheaders);
  21. }
  22. ?>

Avez-vous déjà réalisé une page en php?
Ce code est à placé au début de votre formulaire de contact et la page qui normalement à une extension ".html" doit être renommé avec l'extension de fichier ".php".

Si vous n'avez pas d'expérience dans le domaine je vous suggère de suivre les cours du siteduzéro (qui sont très didactique et prévu pour les débutants). J'espère que ce script vous aura aidé, si vous avez trop de difficulté pour le mettre en place, je vous suggère d'apprendre un peu l'HTML et le PHP pour mieux assimiler les choses.

Bonne continuation.
Cordialement.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 19/09/2009 à 14h13
Merci beaucoup,
Oui j'ai appris le html et le css sur le site du zéro mais pas le php (j'ai commencé mais j'ai arrêté parce que je n'arrivais pas a comprendre avec les bdd smiley ).

Pour en revenir au code que vous m'avez donné, j'ai juste une question: où dois-je mettre l'adresse email qui reçois l'information ?

Merci pour votre aide.
avatar de Tony_
Administrateur
# Le 19/09/2009 à 15h06
D'accord.
Dans le code j'ai remplacé l'adresse email par "adresse@example.com" (qui est une adresse fictive). Il faut la modifier deux fois.
Puisque vous avez quelques notions en PHP, n'hésitez pas à vous pencher un peu sur ce code pour essayer de le comprendre. smiley
Cordialement.
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.