Web To mail

bonjour,
je suis en train de concevoir la page de contact.html
et je veux savoir comment envoyer le contenu d'un formulaire via la page contact.html à ma boite email.

merci en avance
abdelhadi
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Contributeur
    Bonjour.

    Et la politesse ? oubliée sur l'oreiller...
    0
    1. svp, vous n'avez ce solution mais avec asp
      parce que je ne sais rien en php
      0
      1. Bonjour,

        deux choses l'une, soit tu fais un formulaire de type envoi par messagerie, soit tu utilises php :

        - messagerie : <form action="mailto:tonadresse@tonprovider.com" method="post">, ce qui provoquera au moment de l'envoi le lancement du client de messagerie à l'internaute sur ton site.
        - php : tu commences déjà par renommer ton fichier en contact.php, ensuite, dans la création de ton formulaire, on va dire qu'il se représente comme suit :

        <html>
        <head>
        <body>
        <form action="contact.php" method="post" id="contact">
        <input type="text" name="prenom" maxlength="32" /><br />
        <input type="text" name="nom" maxlength="32" /><br />
        <input type="text" name="email" maxlength="64" /><br />
        <textarea name="contenu">Ecrivez ici votre message</textarea><br />
        <input type="submit" value="Envoyer" /><br />
        </form>
        </body>
        </html>

        Voilà, maintenant voyons ce qui va se passer au moment ou l'internaute cliquera sur "Envoyer". Il faut premièrement vérifier si toutes les variables (tous les champs de type text, exemple prénom, nom et email, contenu) ont été déclarés, si elles le sont on envoi un mail, si elles le sont pas, on affiche un message d'erreur.

        On se place avant <html> et on commence le code php :

        <?php
        // on vérifie si les variables ont été postées
        if(isset($_POST["prenom"]) && isset($_POST["nom"]) && isset($_POST["email"]) && isset($_POST["contenu"]))
        {
        // on déclare les variables pour faciliter leur utilisations
        $prenom = $_POST["prenom"];
        $nom = $_POST["nom"];
        $email = $_POST["email"];
        $contenu = $_POST["contenu"];
        // on déclare la construction et le format du mail envoyé
        $headers = "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "From: $email <$email>\r\n";
        // a qui on l'envoi
        $destinataire = "tonadresse@tonprovider.com";
        // le sujet
        $sujet = "Message reçu du site Internet";
        // le message
        $msg = "$prenom $nom ($email) veut des informations, son message est le suivant : $contenu.";
        // on fait alors partir le mail et en même temps on vérifie si il y a pas d'erreur lors de l'envoi
        if(!mail($destinataire, $sujet, $msg, $headers)) header("Location:contact.php?message=erreur");
        // si tout s'est bien passé on renvoi à la page avec envoi du message ok
        header("Location:contact.php?message=ok");
        }
        ?>

        Maintenant dans avant ton formulaire tu fais :

        ....
        <body>
        <?php
        // si on reçoit un message
        if(isset($GET["message"]))
        {
        // on déclare la variable
        $message = $_GET["message"];
        // si le message est erreur
        if($message == "ok") echo "Votre message est bien parti, merci";
        // si le message est erreur
        else if($message == "erreur") echo "Une erreur s'est produit lors de l'envoi du mail, veuillez retenter l'opération";
        }
        ?>
        <form .......

        Voilà, n'oublie pas que le php s'exécute uniquement côté serveur et non pas côté client, en d'autre termes, le php ne marchera pas en local, pour tester si tout fonctionne bien il faudra mettre ton site sur un ton FTP.

        Je te laisse creuser un peu, notamment pour vérifier si formulaire posté a bien été rempli etc ...

        Bonne chance,

        Thomas
        0
        1. bonjour,
          merci thomas pour votre réponse, je vais essayer
          merci encore +
          abdelhadi
          0