Envoyer des mails en local avec wamp

Envoyer des mails en local  avec wamp

Un Petit tuto pour rappeler les étapes de configuration d’envoi de mails depuis son serveur wamp.Ce tuto est pour ceux qui ont suivi le tuto original sur grafykart, mais qui ont eu des problèmes à faire marcher tout ca chez eux.En fait il y a quelques  étapes supplémetaires à executer.

1- Send Mail

Il faut d’abord télécharger sendmail,  et installer le dossier dézippé dans son dossier wamp.

wamp

2-Editer sendmail.ini

A l’intérieur de ce dossier, trouver le fichier sendmail.ini et remplir comme suit : pour ma part j’utilise gmail.

; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=465

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

default_domain=smtp.gmail.com 

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=xxxxx@gmail.com
auth_password=xxxxxxx

; if your smtp server uses pop3 before smtp authentication, modify the 
; following three lines.  do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify 
; the "From: " header of the message content

force_sender=xxxxx@gmail.com

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify 
; the "To: " header of the message content

force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

hostname=

3-Editer php.ini

Ensuite, clic droit sur l’icone wamp, onglet php, puis php.ini

Pour aller plus vite, faire un control f et chercher le bloc traitant du smtp. L’éditer comme suit:

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP =  
; http://php.net/smtp-port
smtp_port = 465

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = 

; 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"

Vu qu’on utilise desormais notre fichier sendmail.ini pour déclarer le smtp, on peut commenter certaines lignes.On déclare le même port  ,et on déclare le sendmail path.Il faut relancer les services wamp : clic-roit sur l’icone wamp, puis ‘restart all services’.

Faites un test d’envoi de mail depuis votre site, pour voir le résultat.

4-Activer  les applications moins sécurisées depuis votre compte google.

Si ca ne marche pas, rendez vous sur la page google autorisant les applications moins sécurisées sur votre compte google cliquez sur le lien en bas de page : Autoriser les applications moins sécurisées .

google1

Sur la page qui s’ouvre cliquez sur Activer

Applications moins sécurisées – Paramètres du google2

Refaites un test, si ca ne marche toujours pas, rendez vous sur votre gmail. Cliquez sur paramètres (petite roue à droite de l’écran), puis  sur l’onglet Transfert et pop/imap.

Dedans activer l’accès Pop et IMAP:

Capture

 

 

 

 

 

 

 

Pour le reste des radio button laissez tout par défaut . Avec ca normalement, ca devrait fonctionner!!

13 commentaires sur “Envoyer des mails en local avec wamp

  1. Ennery

    cet article est vraiment simple, interessant et utile… ça m’aide beaucoup… merçi mon frère!!

  2. Girou

    Génial. Complet et efficace : merci 🙂
    Avec la double authentification sur Gmail, il suffit d’utiliser un « mot de passe d’application » dans le champ auth_password

  3. David

    Super CA MARCHE!!!!!!!! Grand Merci pour ce tutoriel vraiment bien détaillé,
    Bravo à vous……

    Config: Wampserver 3.0.6
    PHP 5.6.25
    Apache 2.4.23

  4. Belo

    Correction de mon post précédent :
    J’avais des erreurs dans sendmail.ini
    Voici la version corrigée :
    ; configuration for fake sendmail

    ; if this file doesn’t exist, sendmail.exe will look for the settings in
    ; the registry, under HKLM\Software\Sendmail

    [sendmail]

    ; you must change mail.mydomain.com to your smtp server,
    ; or to IIS’s « pickup » directory. (generally C:\Inetpub\mailroot\Pickup)
    ; emails delivered via IIS’s pickup directory cause sendmail to
    ; run quicker, but you won’t get error messages back to the calling
    ; application.

    smtp_server=smtp.gmail.com

    ; smtp port (normally 25)

    smtp_port=587

    ; SMTPS (SSL) support
    ; auto = use SSL for port 465, otherwise try to use TLS
    ; ssl = alway use SSL
    ; tls = always use TLS
    ; none = never try to use SSL

    smtp_ssl=TLS
    ; the default domain for this server will be read from the registry
    ; this will be appended to email addresses when one isn’t provided
    ; if you want to override the value in the registry, uncomment and modify

    default_domain=gmail.com

    ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable logging

    error_logfile=error.log

    ; create debug log as debug.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable debugging

    ;debug_logfile=debug.log

    ; if your smtp server requires authentication, modify the following two lines

    auth_username= bellest.ch@gmail.com
    auth_password=***********

    ; if your smtp server uses pop3 before smtp authentication, modify the
    ; following three lines. do not enable unless it is required.

    pop3_server=
    pop3_username=
    pop3_password=

    ; force the sender to always be the following email address
    ; this will only affect the « MAIL FROM » command, it won’t modify
    ; the « From:  » header of the message content

    force_sender=bellest.ch@gmail.com

    ; force the sender to always be the following email address
    ; this will only affect the « RCTP TO » command, it won’t modify
    ; the « To:  » header of the message content

    force_recipient=

    ; sendmail will use your hostname and your default_domain in the ehlo/helo
    ; smtp greeting. you can manually set the ehlo/helo name if required

    hostname=

  5. Belo

    Bonjour à toutes et à tous,
    J’ai l’erreur bien connue ;
    Warning: mail(): Failed to connect to mailserver at "localhost" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp64\www\mail.php on line 7
    Je suis sous windows 10 et wamp
    Ci-dessous sendmail.ini et le code PHP
    Merci pour votre aide
    ——————————————————————————–
    Voici sendmail.ini
    ; configuration for fake sendmail

    ; if this file doesn’t exist, sendmail.exe will look for the settings in
    ; the registry, under HKLM\Software\Sendmail

    [sendmail]

    ; you must change mail.mydomain.com to your smtp server,
    ; or to IIS’s « pickup » directory. (generally C:\Inetpub\mailroot\Pickup)
    ; emails delivered via IIS’s pickup directory cause sendmail to
    ; run quicker, but you won’t get error messages back to the calling
    ; application.

    smtp_server=smtp.gmail.com

    ; smtp port (normally 25)

    smtp_port=587

    ; SMTPS (SSL) support
    ; auto = use SSL for port 465, otherwise try to use TLS
    ; ssl = alway use SSL
    ; tls = always use TLS
    ; none = never try to use SSL

    smtp_ssl=TLS
    ; the default domain for this server will be read from the registry
    ; this will be appended to email addresses when one isn’t provided
    ; if you want to override the value in the registry, uncomment and modify

    default_domain=gmail.com

    ; log smtp errors to error.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable logging

    error_logfile=error.log

    ; create debug log as debug.log (defaults to same directory as sendmail.exe)
    ; uncomment to enable debugging

    ;debug_logfile=debug.log

    ; if your smtp server requires authentication, modify the following two lines

    auth_username= bellest.ch@gmail.com
    ;password masqué ici
    auth_password= *********

    ; if your smtp server uses pop3 before smtp authentication, modify the
    ; following three lines. do not enable unless it is required.

    pop3_server=
    pop3_username=
    pop3_password=

    ; force the sender to always be the following email address
    ; this will only affect the « MAIL FROM » command, it won’t modify
    ; the « From:  » header of the message content

    force_sender=bellest.ch@gmail.com

    ; force the sender to always be the following email address
    ; this will only affect the « RCTP TO » command, it won’t modify
    ; the « To:  » header of the message content

    force_recipient=

    ; sendmail will use your hostname and your default_domain in the ehlo/helo
    ; smtp greeting. you can manually set the ehlo/helo name if required

    hostname=
    —————————————————————
    Mon code php :
    <?php
    $email = "bellest.ch@gmail.com";
    $to = "walt.belo@gmail.com";
    $subject = "Hi!";
    $body = "Hi,How are you?";
    $headers = 'From: ' .$email . "\r\n".'Reply-To: ' . $email. "\r\n".'X-Mailer: PHP/' . phpversion();
    if (mail($to, $subject, $body, $headers)) echo("Email successfully sent »);
    else echo(« Email delivery failed »);
    ?>

  6. Ir Chris

    Merci pour c tutoriel, ça marche bien avec tout le deux ports : 465 et 587

    Mais un petit soucis encore .
    A chaque fois si je redémarre la machine ou si je tente de modifier un script si wampserver est en marche j’ai une erreur lors de l’envoi de message.
    Alors que_c qui est à la base ?

  7. copier coller Auteur de l'article

    Bonjour et merci pour la remarque. Je vous invite à poser la question sur un forum tel que stackoverflow, car le tutoriel est vieux et je ne peux malheureusement le reproduire en local. Merci toutefois d’évoquer le problème.

  8. David

    Enfin un tuto clair et concis sur l’envoi de mail en local qui n’omet aucune étape. Un grand merci à l’auteur, car c’est rare que ces trois conditions soient réunis et qu’on ait pas besoin d’ouvrir 36 tutos traitant du même sujet pour y piocher les informations manquantes des un et des autres après de multiples essais infructueux.
    En ce qui me concerne la première tentative fut la bonne.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.