Comment tester l’envoi des e-mails depuis WordPress et PHP ?
I. Présentation
Lors de la mise en oeuvre d'un serveur web sur lequel on souhaite utiliser WordPress, on doit configurer le serveur afin qu'il soit capable d'envoyer des e-mails via PHP (et par extension via WordPress). Pour envoyer ses e-mails, WordPress s'appuie sur PHP, les deux outils sont intimement liés.
Dans ce tutoriel, je vous propose de voir comment tester d'envoyer un e-mail depuis WordPress et PHP afin de valider votre configuration.
II. Envoyer un e-mail depuis PHP
Plutôt que de créer un script PHP que l'on appellerait avec le navigateur, nous allons directement entrer en mode interactif avec PHP :
php -a
Ensuite, il reste à utiliser la fonction "mail" de PHP pour envoyer un e-mail :
mail ("[email protected]", "Test E-mail", "Test E-mail from PHP");
Dans la commande ci-dessus, les trois valeurs correspondent à l'e-mail du destinataire, l'objet de l'e-mail puis son contenu. Si vous ne recevez pas d'erreurs, l'e-mail arrivera très certainement dans votre boîte de réception 😉
Note : PHP va utiliser le MTA définit dans php.ini pour envoyer cet e-mail.
Vous pouvez quitter le mode interactif :
exit ();
En cas de problème, sachez qu'il est possible de consulter les logs liés aux e-mails :
tail -f /var/log/maillog
Maintenant que ça fonctionne avec PHP, nous pouvons tester avec WordPress. On aurait pu tester directement avec WordPress aussi... Sachant que ce dernier s'appuiera sur PHP pour envoyer ses e-mails.
III. Envoyer un e-mail depuis WordPress
Un bon moyen de tester l'envoi d'un e-mail depuis WordPress, c'est d'utiliser l'extension gratuite Check Email. Je vous propose de l'installer.
Une fois l'installation terminée et l'extension activée, retrouvez-la dans le menu "Outils" > Check Email.
L'application remonte le MTA utilisé par PHP (défini dans php.ini), dans l'exemple ci-dessous nous pouvons voir qu'il s'agit de sSMTP. Il suffit de remplir le champ "Send test email to" et d'indiquer le mail du destinataire.
Par défaut, Check Email va utiliser comme e-mail expéditeur l'adresse définie dans le profil WordPress utilisé pour faire le test. Ce qui n'est pas toujours idéal, dans ce cas, cochez "Use custom headers" et indiquez l'adresse à utiliser dans le champ "From".
Cliquez sur "Send test email" pour envoyer l'e-mail de test. Attention, ce n'est pas parce qu'un message de confirmation (en vert) s'affiche que tout est bon : vérifiez votre boite de réception et vos spams (si besoin). L'e-mail sera sous cette forme :
This test email proves that your WordPress installation at https://www.domaine.fr can send emails.
Maintenant que l'on sait que les e-mails fonctionnent correctement, vous pouvez désinstaller l'application 😉 - en cas de problème, pensez à consulter les logs "maillog".
Alternativement, on peut installer et tester un serveur Postfix minimal sous le capot. Il ne servira qu’à envoyer des mails depuis le serveur.
https://www.microlinux.fr/postfix-minimal-dedibox-centos-7/
Un gentil bonjour de la garrigue gardoise.