Si vous aussi vous développez vos sites en local sur Windows avec Wamp vous avez du vous rendre compte que la solution n'intègre pas l'envoi d'email. Aussi dès que vous testez un script contenant la fonction mail() vous tombez irrémédiablement sur une erreur.
Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ........
Rassurez vous, tout n'est pas perdu, il est tout à fait possible d'envoyer des mails en local avec Wamp grâce à Fake Sendmail.
L'installation de Fake Sendmail est relativement simple. Pour commencer téléchargez Fake Sendmail et déposez le dans un dossier spécifique de votre système (je l'ai mis dans le dossier contenant Wamp C:\Wamp\sendmail
.
Sendmail.exe est une commande qui émule la commande unix sendmail et qui nécessite un serveur smtp pour fonctionner. Il va donc falloir éditer le fichier sendmail.ini pour configurer le serveur SMTP qui va envoyer nos mails. Voici ce que ça donne si vous voulez passer par un compte gmail :
[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=
Penser à remplacer les * par vos informations.
Maintenant il va falloir dire à php d'utiliser cette commande sendmail. Pour cela vous devez éditer le fichier php.ini et chercher la variable sendmail_path pour y indiquer le chemin vers l’exécutable sendmail.exe. Par exemple chez moi :
sendmail_path = "C:\wamp64\sendmail\sendmail.exe"
Ensuite il ne vous reste plus qu'à redémarrer Wamp et vous devriez être en mesure d'envoyer vos mail en local.