IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de formulaire par e-mail


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut Envoi de formulaire par e-mail
    Bonsoir,

    j'aimerais savoir comment envoyer un formulaire par mail. Je croyais savoir : j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>test formulaire</title>
    </head>
    <body>
    <form action="mailto:schmittlau@aol.com" method="post">
      <fieldset><legend><b>Nom :</b></legend>
      <label>Nom : </label><input name="nom"
     size="40" maxlength="256" value="votre nom"
     type="text"><br>
      <legend>Question :</legend>
      <textarea name="question" cols="50" rows="5"
     onclick="this.value=''"></textarea><br>
      <input value="Envoyer" type="submit">
      </fieldset>
    </form>
    </body>
    </html>
    mais ça ne marche pas. Peut-on me dire ce qu'il faudrait faire ?

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 748
    Points
    3 748
    Par défaut
    Bonsoir,

    Le mail est envoyé par le serveur et non pas le client.
    Il faut donc passer par un langage coté serveur (php par exemple) pour l'envoi, voir ce tuto

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Merci pour la réponse, et ça tombe bien ; je connais le php ; mais le tuto est assez long ; aurais-tu un exemple dont je puisse m'inspirer pour aller plus vite ?
    D'autre part, j'ai vu qu'il fallait avoir 2 lignes spéciales ds son php.ini. Comme le site doit être hébergé chez Free, sais-tu si c'est bon (je crois qu'on ne peut pas modifier le php.ini chez Free) ?

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 748
    Points
    3 748
    Par défaut
    Pour free, la fonction mail() est bien activé sur leurs serveurs donc rien à modifier (quoi que dans l'hébergement mutualisé on a jamais la main sur la config serveur)

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Bonjour,

    Le mailto fonctionne si et seulement si un client messagerie est configuré chez l'utilisateur final de ton site.

    Ensuite, quant aux mails que tu peux faire en php, tu peux trouver des scripts déjà fait... A voir si cela te conviendra exactement, c'est une autre paire de manche.

    C'est à cette raison que comprendre comment fonctionne un code est mieux que le recopier simplement.

    Tout ce que tu as besoin de savoir pour une utilisation et compréhension minimale est ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($destinataire , $sujet , $message , "From: $emetteur")
    Ensuite, si tu veux faire un mail plus sophistiqué, lis les tutoriels. Enfin... En tout cas, lis donc ce tutoriel... Même s'il te paraît long et fastidieux.

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Merci pour le tuto simplifié ; mais, j'ai encore des pbs ; j'ai fait un essai tout simple :
    code html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <html>
    <head>
      <title>Contactez-moi</title>
    </head>
    <body>
    <!-- On ouvre la balise form, et on met en place notre formulaire. On invoquera la soumission de ce formulaire dans la page "mail.php", qui sera elle aussi à la racine de notre site : <lien url="http://www.monsite.fr/mail.php">http://www.monsite.fr/mail.php</lien> -->
    <form method="post" action="mail.php">
      <h2>CONTACT</h2>
      <p>
    Votre Email <br>
      <input name="votremail" type="text">
    <!-- Valeur par défaut de l'objet du mail --><input
     name="objet" value="Vous avez un nouveau message"
     type="hidden">
      </p>
      <p>
    Votre message <br>
      <textarea cols="66" rows="6" name="message"></textarea>
      </p>
      <p>
      <input value="Envoyer" type="submit"></p>
    </form>
    <!-- On ferme la balise form, notre formulaire est fini -->
    </body>
    </html>
    code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $destinataire="schmittlau@aol.com";
    $objet=$_POST['objet'];
    $message=$_POST['message'];
    $from="From: ".$_POST['votremail']."\r\n";
    if(mail($destinataire,$objet,$message,$from))
    {
    echo "Message envoyé au webmaster";
    }
    else
    {
    echo "Une erreur s'est produite";
    }
    ?>
    et j'ai eu l'injure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    This is the mail system at host perso1.free.fr.
     
    I'm sorry to have to inform you that your message could not
    be delivered to one or more recipients. It's attached below.
     
    For further assistance, please send mail to postmaster.
     
    If you do so, please include this problem report. You can
    delete your own text from the attached returned message.
     
                       The mail system
     
    <schmittlau@aol.com>: host mailin-02.mx.aol.com[205.188.249.91] said: 554-:
        (DYN:T1)  http://postmaster.info.aol.com/errors/421dynt1.html 554
        TRANSACTION FAILED (in reply to end of DATA command)
     
    Final-Recipient: rfc822; schmittlau@aol.com
    Original-Recipient: rfc822;schmittlau@aol.com
    Action: failed
    Status: 5.0.0
    Remote-MTA: dns; mailin-02.mx.aol.com
    Diagnostic-Code: smtp; 554-:  (DYN:T1)
        http://postmaster.info.aol.com/errors/421dynt1.html 554 TRANSACTION FAILED
     
    E-mail
    De : schmittlau@aol.com 
    A : schmittlau@aol.com 
    Sujet : Vous avez un nouveau message 
    Date : Sun, 28 Dec 2008 22:29:39 
     
    Content-Type: text/plain; charset="US-ASCII"
    Content-Transfer-Encoding: 7bit
     
     
    essai
    quel est le pb ?

  7. #7
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Une petite recherche sur notre ami donne :
    Citation Envoyé par l'ami google
    Lors de l'envoi de mail avec Outlook ou tout autre logiciel de courrier vous recevez une erreur 554 : Relay Access Denied, Port : 25, Sécurisé (SSL) : Non, Erreur de serveur : 554, Numéro d'erreur : 0x800CCC79

    Ceci signifie que votre FAI ne vous reconnaît pas comme un de ses abonnés et vos mails sont alors considérés comme du spam.
    Essaye de mettre dans le from à la place du $_POST ton adresse chez free :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $from="From: tonadressechezfree@free.fr \r\n";
    pour voir si ça passe mieux...

  8. #8
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    J'ai fait cet essai, mais comme je ne sais pas me servir de Outlook ni d'aucun logiciel pour lire les mails, je ne pouvais voir si a marchait (pour AOL, j'utilise leur interface intégrée) ; par contre, j'ai remplacé l'adresse AOL par mon adresse professionnelle et de plus, j'ai modifié le script php pour envoyer ce que je voulais (je n'ai finalement pas utilisé ce que j'avais mis ds le post, mais un autre script (qui ne marchait pas, d'où la nécessité de modifier le code php)), et avec l'adresse pro, ça a marché. Donc tout va bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoie de formulaire par e-mail
    Par jjouc dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2010, 15h39
  2. Envoi de formulaire par e-mail
    Par cornus dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2009, 19h50
  3. Envoi d'un formulaire par e-mail
    Par Windaube dans le forum Langage
    Réponses: 2
    Dernier message: 09/08/2007, 10h03
  4. envois d'un formulaire par e-mail
    Par adenak dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/03/2007, 16h28
  5. [Mail] problème d'envoi de formulaire par mail
    Par alpking dans le forum Langage
    Réponses: 2
    Dernier message: 13/07/2006, 20h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo