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

PHP & Base de données Discussion :

Wamp, localhost et livebox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut Wamp, localhost et livebox
    Bonjour,

    je suis actuellement en train de développer un site web en LOCAL via wamp, je l'ai donc placé dans C:\wamp\www et j'y accède depuis "localhost". Dans ce site j'ai placé un formulaire, et lorsque j'appuie sur envoyer, un mail part vers un compte gmail en m'indiquant le message.
    J'ai bien configuré wamp et gmail, et depuis la connexion de mon école j'ai réussi à envoyer un mail vers gmail. Le problème est que depuis chez moi je n'y arrive pas. Je pense donc que le problème vient de ma livebox qui doit bloquer ce type d'opération.
    J'ai cherché dans de forums mais ce que j'ai trouvé c'est comment configurer ma livebox pour héberger mon site sur wampserver et l'envoyer sur la toile, mais moi je veux seulement y accéder depuis localhost. Peut-être est-ce lié ?

    Savez-vous comment palier à ce problème ?

    Merci d'avance !

    PS : je suis assez débutant dans ce domaine ^^

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux nous décrire comment tu fais et ce que tu obtiens ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    J'utilise sendmail que j'ai mis dans C:wamp.
    Puis j'ai configuré sendmail.ini comme ceci (avec les bonnes valeurs à la place des *):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [sendmail]
    smtp_server=smtp.gmail.com
    smtp_port=25
    default_domain=localhost
    error_logfile=error.log
    auth_username=****@gmail.com
    auth_password=*****
    pop3_server=
    pop3_username=
    pop3_password=
    force_sender=
    force_recipient=
    hostname=localhost
    Puis j'ai configuré php.ini
    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
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    ;SMTP = smtp.gmail.com
    ; http://php.net/smtp-port
    ;smtp_port = 587
     
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = doors.corps@gmail.com
     
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    sendmail_path = "C:\Wamp\sendmail\sendmail.exe -t -i"
     
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
     
    ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
    mail.add_x_header = On
     
    ; The path to a log file that will log all mail() calls. Log entries include
    ; the full path of the script, line number, To address and headers.
    ;mail.log =
    ; Log mail to syslog (Event Log on NT, not valid in Windows 95).
    ;mail.log = syslog
    Mon formulaire ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form id="formulaire" method="post" action="traitement_formulaire/traitement.php" target="_blank">
                          <fieldset>
                            <label><input type="text" name="nom" placeholder="Nom" autofocus/></label>
                            <label><input type="email" name="email" placeholder="Email"/></label>
                            <label><input type="tel" name="tel" placeholder="Téléphone"/></label>
    						<label><input type="text" name="objet" placeholder="Objet"/></label>
                            <label><textarea name="message" id="commentaire" placeholder="Message"></textarea></label>
                            <input type="submit" id="envoyer" value="Envoyer"/>
                          </fieldset>  
                        </form>
    Et le fichier traitement.php (avec les bonnes valeurs à la place des *):
    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
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<meta charset="utf-8">
    		<title>Traitement formulaire</title>
    	</head>
     
    	<body>
    		<?php
    			if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['tel']) && isset($_POST['objet']) &&isset($_POST['message'])){
    				if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['tel']) && !empty($_POST['objet']) && !empty($_POST['message'])){
    					$destinataire = '****@gmail.com';
    					$sujet = "Message formulaire";
    					$message = "Nom : ".$_POST['nom']."\r\n"."Adresse email : ".$_POST['email']."\r\n"."Téléphone : ".$_POST['tel']."\r\n"."Objet : ".$_POST['objet']."\r\n\n"."Message : ".$_POST['message']."\r\n";
    					$entete = 'From: '.$_POST['email']."\r\n".
    						'Reply-To: '.$_POST['email']."\r\n".
    					'X-Mailer: PHP/'.phpversion();
    					if (mail($destinataire,$sujet,$message,$entete)){
    						echo 'Message envoyé';
    					} else {
    						echo "Une erreur est survenue lors de l'envoi du formulaire par email";
    					}
    				}
    			}
    		?>
    	</body>
    </html>
    Et donc dès que je teste l'envoie du formulaire, ça tourne un moment avec en bas écrit "en attente de localhost", puis j'ai le message "Une erreur est survenue lors de l'envoi du formulaire par email" qui s'affiche comme codé dans traitement.php

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je t'ai deja repondu dans l'autre message : tu n'as pas besoin de sendmail.
    Il est meme très probable que toute ta configuration ne soit pas du tout prise en compte par PHP.

    Soit tu utilises le serveur SMTP de ton fournisseur d'accès, et il suffit de renseigner smtp et smtp_port dans le php.ini
    Soit tu veux utiliser le smtp de gmail et alors tu peux utiliser PHPMailer afin de faire la connexion authentifiée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    Je vais suivre ton conseil et utiliser PhplMailer? J'ai trouvé ce tuto que j'essaye de suivre pour installer PhpMailer et le faire fonctionner. J'ai donc dézippé son contenu et l'ai mis dans C:\wamp\phpmailer.
    Après si j'ai bien compris je dois créer une fonction où je mettrais ç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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    include_once "phpmailer/class.phpmailer.php"; //inclusion du fichier si le dossier "phpmailer" se trouve dans le même dossier que notre page web
     
    function envoiMail($adresseMail, $sujet, $message) {        
            $mail = new PHPmailer();
            $mail->IsSMTP();
            //$mail->SMTPDebug=true;    //permet de voir les erreurs si ça ne fonctionne pas    
     
            $mail->Host='localhost'; // Connexion au serveur SMTP
            $mail->Port = 25;
     
     
            $mail->SMTPAuth = true; // Cette partie est optionnelle si le serveur SMTP n'a pas besoin d'authentification
            $mail->Username = 'postmaster[at]monsite.e4y.fr'; // mettre l'adresse email que founit l'hébergeur
            $mail->Password = 'monMotDePasse'; // le mot de passe pour se connecter à votre boite mail sur l'hébergeur
     
     
     
            $mail->IsHTML(true); // Permet d'écrire un mail en HTML (=> conversion des balises
            $mail->CharSet = 'UTF-8'; // évite d'avoir des caractères chinois :)
            $mail->From ='postmaster[at]monsite.e4y.fr'; // adresse mail du compte qui envoi
            $mail->FromName = "Data Engine Dasihaulien"; // remplace le nom du destinateur lors de la lecture d'un email
            $mail->AddAddress($adresseMail); // adresse du destinataire, plusieurs adresses possibles en même temps !
            $mail->AddReplyTo('postmaster[at]monsite.e4y.fr'); // renvoi une copie de l'email au destinateur, fonctionnalité pas toujours opérationnelle
            $mail->Subject=$sujet; // l'entête = nom du sujet
            $mail->Body=$message; // le corps = le message en lui-même, codé en HTML si vous voulez
            //$mail->AltBody="This is text only alternative body."; // corps du message à afficher si le HTML n'est pas accepter par celui qui lit le message
            if(!$mail->Send()) {
                $_REQUEST['error'] = $mail->ErrorInfo; // affiche une erreur => pas toujours explicite
            }
            $mail->SmtpClose();
            unset($mail); // ferme la connexion smtp et désalloue la mémoire...
    }
    Mais où dois-je créer cette fonction ? Et après depuis mon fichier traitement.php comment puis-je l'utiliser ?

    Merci encore pour tes réponses

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La fonction n'est pas obligatoire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    J'ai un soucis lorsque j'utilise l'exemple donné sur ce site : http://www.espace4you.org/forums/thread-668.html
    je l'ai appliqué à mon fichier 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<meta charset="utf-8">
    		<title>Traitement formulaire</title>
    	</head>
     
    	<body>
    		<?php
    		include_once "phpmailer/_lib/class.phpmailer.php";
    			$mail = new PHPmailer();
    			$mail->IsSMTP();
    			//$mail->SMTPDebug=true;    //permet de voir les erreurs si ça ne fonctionne pas    
     
    			$mail->Host='smtp.gmail.com'; // Connexion au serveur SMTP
    			$mail->Port = 465;
     
     
    			$mail->SMTPAuth = true; // Cette partie est optionnelle si le serveur SMTP n'a pas besoin d'authentification
    			$mail->Username = '***@gmail.com'; // mettre l'adresse email que founit l'hébergeur
    			$mail->Password = '***'; // le mot de passe pour se connecter à votre boite mail sur l'hébergeur
     
     
     
    			$mail->IsHTML(true); // Permet d'écrire un mail en HTML (=> conversion des balises
    			$mail->CharSet = 'UTF-8'; // évite d'avoir des caractères chinois :)
    			$mail->From = $_POST['email']; // adresse mail du compte qui envoi
    			$mail->FromName = $_POST['nom']; // remplace le nom du destinateur lors de la lecture d'un email
    			$mail->AddAddress($_POST['email']); // adresse du destinataire, plusieurs adresses possibles en même temps !
    			$mail->AddReplyTo('doors.corps@gmail.com'); // renvoi une copie de l'email au destinateur, fonctionnalité pas toujours opérationnelle
    			$mail->Subject='test'; // l'entête = nom du sujet
    			$mail->Body=$_POST['message']; // le corps = le message en lui-même, codé en HTML si vous voulez
    			//$mail->AltBody="This is text only alternative body."; // corps du message à afficher si le HTML n'est pas accepter par celui qui lit le message
    			if(!$mail->Send()) {
    				$_REQUEST['error'] = $mail->ErrorInfo; // affiche une erreur => pas toujours explicite
    			}
    			$mail->SmtpClose();
    			unset($mail); // ferme la connexion smtp et désalloue la mémoire...
    		?>
    	</body>
    </html>
    Voici l'erreur que j'obtiens : ici

    J'ai mis le dossier phpmailer dans le même dossier que mon fichier .php.

    Qu'ais-je mal fait ?

    Merci d'avance !

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    D'ou vient le "_lib" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    Le fichier class.phpmailer.php se trouve dans phpmailer\_lib, c'est pas bon ce que j'ai mis ?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    J'ai bien avancé, maintenant ça marche !
    Voilà ce que j'ai fait.
    J'ai mis les fichiers class.phpmailer.php et class.smtp.php dans C:wamp/www, et j'ai créé send-mail.php au même endroit avec :
    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
    36
    37
    <?php
    require 'class.phpmailer.php';
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->Mailer = 'smtp';
    $mail->SMTPAuth = true;
    $mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked
    $mail->Port = 465;
    $mail->SMTPSecure = 'ssl';
    // or try these settings (worked on XAMPP and WAMP):
    // $mail->Port = 587;
    // $mail->SMTPSecure = 'tls';
     
     
    $mail->Username = "****@gmail.com";
    $mail->Password = "****";
     
    $mail->IsHTML(true); // if you are going to send HTML formatted emails
    $mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.
     
    $mail->From = "****@gmail.com";
    $mail->FromName = "Your Name";
     
    $mail->addAddress("****@hotmail.fr","User 1");
    //$mail->addAddress("user.2@gmail.com","User 2");
     
    //$mail->addCC("user.3@ymail.com","User 3");
    //$mail->addBCC("user.4@in.com","User 4");
     
    $mail->Subject = "Testing PHPMailer with localhost";
    $mail->Body = "Hi,<br /><br />This system is working perfectly.";
     
    if(!$mail->Send())
        echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
    else
        echo "Message has been sent";
    ?>
    Quand je l'éxécute depuis "http://localhost/send-email.php", le message est bien envoyé et reçu, mais j'ai pourtant ce message

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne peux pas lire ton message d'erreur donc je ne peux pas t'aider.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    L'image ne te suffis pas ? Tu veux que je t'envois autre chose ?

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Par défaut
    En fait j'ai trouvé la solution sur ce site

    Merci beaucoup, bonne continuation !

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

Discussions similaires

  1. [Wamp] Wamp localhost introuvable
    Par brizy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 08/05/2013, 16h59
  2. [Wamp] Icone verte, localhost inaccessible
    Par Spire_ dans le forum Apache
    Réponses: 0
    Dernier message: 15/08/2012, 10h03
  3. Avec Wamp localhost texte dans l'affichage
    Par Georges974 dans le forum Langage
    Réponses: 1
    Dernier message: 25/07/2011, 21h29
  4. [Wamp] Wamp qui se fige sur localhost/xampp/
    Par agony dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 28/12/2010, 15h08
  5. [WAMP] Htaccess localhost
    Par dj-julio dans le forum Apache
    Réponses: 2
    Dernier message: 01/06/2007, 19h03

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