WAMP : Envoyer des mails via PHP avec mail()

I. Présentation

Une question qui revient souvent lorsque l'on monte un serveur web, c'est "Comment je vais faire pour envoyer des e-mails ?". Dans le cas, de WAMP (équivalent de LAMP sous Linux), c'est à dire Windows Apache MySQL PHP, on peut envisager d'envoyer des mails sans installer le moindre module supplémentaire.

En fait, on va simplement éditer le fichier de configuration PHP et indiquer les paramètres correspondant au serveur SMTP que l'on souhaite utiliser. Pour rappel, un serveur SMTP permet d'envoyer des e-mails. Ensuite, il suffira d'utiliser la fonction PHP nommée mail() pour envoyer des messages électroniques depuis une page web.

Note : Mise à part la fonction mail(), on peut également utiliser dans le cas de WordPress la fonction wp_mail().

Prêt ?! Alors on commence...

II. Configuration du serveur web

Il faut commencer par éditer le fichier de configuration "php.ini" d'Apache, qui se trouve au chemin suivant (la version d'Apache peut changer...) :

C:\wamp\bin\apache\apache2.4.9\bin\php.ini

Dans ce fichier, vous trouverez une zone nommée [mail function], c'est là qu'il va falloir modifier les paramètres après la mention "For Win32 only".

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

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = php@it-connect.fr

L'exemple ci-dessus permet de s'appuyer sur le serveur SMTP "smtp.it-connect.fr" sur le port "25". L'adresse d'expéditeur utilisée sera "php@it-connect.fr" (sendmail_from).

Note : Vous remarquerez que je n'ai pas précisé d'identifiant et de mot de passe. En effet, dans la prise en charge par défaut de l'envoi de mail, il n'est pas possible de spécifier d'authentification. Si vous souhaitez utiliser l'authentification, il faut passer par une librairie externe comme "Sendmail for Windows".

Enregistrez le fichier de configuration php.ini. Si WAMP est démarré au moment de la modification, il est nécessaire de redémarrer les services. Pour cela, effectuez un clic gauche sur l'icône de WAMP et cliquez sur "Restart All Services".

wampphp1

III. La fonction mail() de PHP

Intéressons-nous à la fonction mail() intégrée à PHP. Cette fonction très simple fonctionne comme ceci :

mail( "adresse@destinataire.fr" , "Sujet" , "Contenu du message" );

Avec trois paramètres, c'est à dire respectivement : l'adresse e-mail de l'expéditeur, le sujet et le message, on peut envoyer un e-mail !

Note : Si vous souhaitez intégrer des paramètres spécifiques dans le header du mail, par exemple une zone "Reply-To" (Répondre à), consultez la page PHP dédié à la fonction mail au niveau de l'Exemple #2.

Il ne reste plus qu'à créer un formulaire sur votre page, par exemple un formulaire de contact, pour profiter pleinement de l'envoi de mails via WAMP et PHP !

Note : Protégez les formulaires et services qui s'appuieront sur la fonction mail de votre machine, de votre serveur, cela évitera de subir les actions des spammeurs.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d’IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno’ est importante je partage aussi des actus.

florian a publié 1612 articles sur IT-Connect.See all posts by florian

Laisser un commentaire

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