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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Problème envoi mail depuis formulaire contact


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 1
    Points
    1
    Par défaut Problème envoi mail depuis formulaire contact
    Bonjour,

    Je suis tout à fait novice en php ou html ou autre, mais pour aider une association je fais un site.
    Dans ce site il y a une page contact, j'ai fais des recherches pour trouver un script d'envoi, j'ai tout fait pareil mais cela ne fonctionne pas.

    Voici un extrait du code de la page contact :

    Code html : 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
    <div id="frag_13" style="position:absolute;left:342px;top:150px;width:416px;height:328px;">
            <div id="wrap">
    		<h1>Envoyer un message</h1>
    	   <div id='form_wrap'>
    		<form method="POST" action="mail.php" >
    			<p>Bonjour,</p>
     
    			<label for="name">Nom: </label>
    			<input type="text" name="name" value="" id="name" />
    			<label for="email">Email: </label>
    			<input type="text" name="email" value="" id="email" />
    			<label for="message">Votre Message : </label>
    			<textarea  name="message" value="Votre Message" id="message" ></textarea>				
    			<input type="submit" name ="submit" value="Maintenant, Envoyer, Merci!" />
    		</form>
    	   </div>
    	</div>
          </div>
        </div>
      </body>
    </html>

    Et voici le code du fichier mail.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    $message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
     
    $TO= 'ericbeld@mouzon-run.com';
     
    $headers= 'From: ' . $email;
    $headers= 'Mime-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8'."\r\n";
    $headers .= "\r\n";
     
    while (list($key, $val) = each($_POST)) {
      $message .= '$key : $val\n';
    }
     
    mail($TO, $name, $message, $h, $headers);
     
    if (!isset($_POST['envoi']))
    {
    	// formulaire non envoyé
    	echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    }
     
    Header("Location: http://www.mouzon-run.com/index.html");
     
    ?>
    Merci de me venir en aide, c'est pour une bonne cause.
    A bientot,
    Patoune08

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Ouch

    Déjà y a les balises [ code ] pour mettre en forme le code et rendre le message plus lisible

    Ensuite mail() prend en paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mail($to, $subject, $message, $headers);
    Ton ,$h m'a l'air de trop

    Si ca ne marche toujours pas, tu peux exécuter ton script et nous donner les valeurs de $TO, $name, $message, et $headers ?

    Vouloir utiliser mail() comme ça en 2016, c'est une perte de temps. Utilise une classe comme phpmailer qui va te simplifier la vie et améliorer ta déliverablilté.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 1
    Points
    1
    Par défaut
    Merci scvo.0ne, c'est un code que j'ai péché sur des forums, alors les balises je ne sais pas trop.

    mail($TO, $name, $message, $h, $headers); c'est bien entre parenthèse, je ne comprends pas.

    Je vais me renseigner sur le phpmailer.

    A bientot,
    Patoune08

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Les balises sont celle de ce forum. Tu met [ code ] avant ton code et [ /code ] après ton code. Y a une icone pour ça

    Et sinon la fonction mail() prend 4 paramètres, tu en met 5. Que vient faire $h dans les parenthèses ?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 1
    Points
    1
    Par défaut
    Désolé, je n'avais pas compris.
    J'ai enlevé le &h mais ça ne fonctionne toujours pas.
    J'ai essayé phpmailer et voici le code du fichier mail.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php 
            require "PHPMailer-FE_v4.11/_lib/class.phpmailer.php"; 
            $mail = new PHPmailer(); 
            $mail->IsSMTP(); 
            $mail->IsHTML(true); 
            $mail->Host='mbox.freehostia.com';
            $mail->Port = 25;
            $mail->Username = "ericbeld@mouzon-run.com";
            $mail->From= ($_POST['email'] $_POST['name']); 
            $mail->AddAddress('ericbeld@mouzon-run.com'); 
            $mail->AddReplyTo($_POST['email'], $_POST['name']);      
            $mailer->MsgHTML($_POST['message']);  
     
            if(!$mail->Send()){ //Teste si le return code est ok. 
              echo $mail->ErrorInfo; //Affiche le message d'erreur
            } 
            else{      
              echo 'Mail envoyé avec succès'; 
            } 
            $mail->SmtpClose(); 
            unset($mail); 
     
    ?>

    et j'obtiens l'erreur suivante :
    Parse error: syntax error, unexpected T_VARIABLE in /home/www/mouzon-run.com/mail.php on line 10
    J'ai essayé plusieurs syntaxe mais rien à faire.

    Patoune08

Discussions similaires

  1. [AC-2007] Envoie de mail depuis formulaire
    Par eliottgiraudo dans le forum Macros Access
    Réponses: 2
    Dernier message: 26/08/2013, 16h56
  2. Problème envoi mail via formulaire
    Par sleeg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/09/2010, 01h00
  3. Problème Envoi Mail - SMTP Orange
    Par lteixeir dans le forum Internet
    Réponses: 6
    Dernier message: 05/07/2007, 22h57
  4. [MySQL] problème envoi mail pour mot de passe
    Par bonsam dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/11/2006, 20h57
  5. [Mail] problème envoi mail html
    Par biggief dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2006, 16h44

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