La fonction mail()
en php permet l’envoie de mail uniquement s’il existe un serveur mail configuré. Avec PHPMailer il est possible d’envoyer des mails sans devoir configurer de serveur mail en utilisant un autre serveur SMTP tel que celui de Google, Free, Orange par exemple (et bien sur le vôtre si vous en possédez un).
Prés requis
- Ouvrir le port 25 sur le firewall
- Avoir un compte de messagerie qui permette l’utilisation de leur SMTP (Gmail, Free, Orange, ….)
- Avoir un serveur web avec votre site internet configuré
- Avoir Git installé
Télécharger l’archive
Allez dans le répertoire où se trouve votre page qui contiendra le formulaire :
# git clone https://github.com/Synchro/PHPMailer.git |
Vous devriez avoir cette arborescence :
# ls -l |
Le code dans la page simpleSendMail.php
ne fait qu’envoyer un mail en utilisant le SMTP de Google. Pour cela il faut avoir un compte et préciser les identifiants :
|
Vérifier que vos fournisseurs n’aient pas bloqué l’accès au SMTP, c’est très souvent le cas avec Google qui croira à une activité suspecte. Il vous faudra l’autoriser via :
- https://myaccount.google.com/lesssecureapps
- https://accounts.google.com/b/0/DisplayUnlockCaptcha (éventuellement)
Les autres relais SMPT de google : https://support.google.com/a/answer/176600?hl=fr
Nom de domaine complet du service SMTP :
smtp-relay.gmail.com smtp.gmail.com aspmx.l.google.com |
Options de configuration :
Options : port 25, 465 ou 587 |
Les adresses IP dynamiques sont autorisées, mais une adresse IP statique peut être demandée en raison des conditions requises pour l’authentification.
Port 465 (SSL requis). |
Les messages ne peuvent être envoyés qu’aux utilisateurs Gmail ou G Suite.
Documentation
https://github.com/Synchro/PHPMailer
https://myaccount.google.com/lesssecureapps
https://accounts.google.com/b/0/DisplayUnlockCaptcha
https://support.google.com/a/answer/176600?hl=fr