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 :

Envoyer mail vers gmail en local avec wamp [MySQL]


Sujet :

PHP & Base de données

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut Envoyer mail vers gmail en local avec wamp
    Bonjour,

    je suis en train d'essayer d'envoyer un mail en local en php en passant par wamp. J'ai suivi les démarches décrites dans de nombreux tutos trouvés en ligne mais en vain...

    Voici ce que j'ai fait :
    1. J'ai téléchargé sendmail ici, puis j'ai décompressé les fichiers dans C:\wamp\sendmail
    2. J'ai modifié le fichier sendmail.ini de C:\wamp\sendmail en mettant (avec les bonnes infos pour l'adresse mail et le mot de passe) :
    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=587
    default_domain=gmail.com
    error_logfile=error.log
    auth_username=****@gmail.com
    auth_password=******
    pop3_server=
    pop3_username=
    pop3_password=
    force_sender=****@gmail.com
    force_recipient=
    hostname=
    3. J'ai modifié dans le fichier php.ini de C:\wamp\bin\apache\apache2.4.9\bin, les lignes de la fonction [mail function] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [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 = your@domaine.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"
    4. Fichier main.php situé dans C:\wamp\www :
    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
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<meta charset="utf-8">
    		<title>Formulaire</title>
    	</head>
     
    	<body>
    		<form action="traitement.php" method="post">
    			<label for="nom">Nom</label>
    			<input id="nom" name="nom" type="text" value=""/>
    			<label for="email">Adresse email</label>
    			<input id="email" name="email" type="text" value=""/>
    			<label for="message">Message</label>
    			<textarea id="message" name="message"></textarea>
    			<button type="submit">Envoyer</button>
    		</form>
    	</body>
    </html>
    4. Fichier traitement.php situé dans C:\wamp\www :
    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
    <!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['message'])){
    				if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])){
    					$destinataire = "doors.corps@gmail.com";
    					$sujet = "Demande de contact";
    					$message = "Nom : ".$_POST['nom']."\r\n";
    					$message = "Adresse email : ".$_POST['email']."\r\n";
    					$message = "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>
    Pourtant lorsque je test mon formulaire, ça ne marche pas. J'ai le message suivant : "Une erreur est survenue lors de l'envoi du formulaire par email", l'envoie du mail n'a donc pas fonctionné.

    Si quelqu'un pourrait m'aider à solutionner mon problème !

    Merci d'avance !

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas besoin de sendmail.
    D'ailleurs, tu as activé la partie "For Unix Only" dans ton php.ini

    Bref utilise la bibliotheque PHPMailer.
    Elle permet de d'utiliser un SMTP avec authentification (dans ton cas le SMTP de gmail).

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Tu pourrais m'expliquer comment l'installer et l'utiliser stp ?
    Je ne trouve pas comment la configurer après l'avoir téléchargé ici : http://sourceforge.net/projects/phpmailer/files/
    je l'ai dézippé et mis dans C:\wamp\phpmailer/, qu'est ce que je dois faire maintenant ?

    Merci !

  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
    Points : 44 155
    Points
    44 155

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    Je suis déjà tombé sur ces pages, mais je ne comprends pas comment appliquer ce qui est écrit. Tu pourrais me guider ?

    Je voudrais ajouter que je suis débute seulement en PHP.
    En fait j'ai seulement installer wamp, mis mes deux fichiers présentés précédemment dans C:\wamp\www, puis depuis mon navigateur je travaille sur http://localhost/test_formulaire/main.php

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 149
    Points : 59
    Points
    59
    Par défaut
    J'ai résolu mon problème, cela venait des paramètres de sécurité de gmail.

    Merci pour ton aide

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

Discussions similaires

  1. [1.x] SwiftMailer échec envoi mail en local avec Wamp
    Par missJu dans le forum Symfony
    Réponses: 9
    Dernier message: 10/05/2012, 16h54
  2. Envoi mail en local avec wamp
    Par sassou409 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 15/12/2011, 19h18
  3. Réponses: 2
    Dernier message: 26/12/2008, 16h34
  4. [SBS 2003] Problème pour envoyer mail vers 1 domaine
    Par arnaud_verlaine dans le forum Exchange Server
    Réponses: 0
    Dernier message: 14/02/2008, 15h27
  5. Envoyer du courrier en non-local avec Postfix
    Par soumou dans le forum Réseau
    Réponses: 2
    Dernier message: 13/03/2006, 00h06

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