Étant donné que la majorité des sites WordPress sont hébergés sur des serveurs partagés, l’authentification SMTP devient une étape nécessaire pour garantir que les courriels envoyés depuis votre site web ne soient pas perçus comme des pourriels.
Pourquoi configurer l’authentification SMTP ?
Par défaut, WordPress envoie des courriels en utilisant les configurations de PHP sur le serveur. Cependant, comme les serveurs partagés accueillent plusieurs sites simultanément, les messages incluent souvent le nom d’hôte du serveur et l’utilisateur de votre compte. Par exemple, sur un serveur cPanel, les courriels envoyés utilisent une adresse similaire à celle-ci pour s’authentifier : utilisateur@nom-du-serveur.com
.
Ce mode d’envoi pose un problème majeur. Pour que vos courriels ne soient pas identifiés comme du pourriel, ils doivent s’authentifier avec une adresse de votre propre domaine, comme nom-de-votre-choix@mondomaine.com
. En authentifiant vos envois avec votre domaine, vos courriels auront bien moins de chances de finir dans les dossiers indésirables.
Extensions SMTP : pratiques, mais lourdes
Il existe de nombreuses extensions permettant de configurer l’authentification SMTP, comme Easy WP SMTP ou WP Mail SMTP. Cependant, chaque extension ajoute du code supplémentaire à votre site, ce qui peut ralentir son chargement. De plus, ces extensions incluent souvent des publicités pour encourager l’achat de leur version premium, ce qui peut encombrer votre tableau de bord WordPress.
Pour ces raisons, ce guide vous montre comment configurer l’envoi de courriels par SMTP sans utiliser d’extension, tout en maintenant une légèreté optimale pour votre site.
Les prérequis avant de commencer
Pour configurer l’authentification SMTP manuellement dans WordPress sans recourir à une extension, deux prérequis essentiels doivent être respectés.
Disposer d’une adresse courriel fonctionnelle
Tout d’abord, vous devez disposer d’une adresse courriel valide, associée à votre domaine. Cette adresse sera utilisée pour envoyer les courriels via le serveur SMTP. Comme pour tout compte SMTP, il est nécessaire d’avoir à disposition les informations suivantes :
- L’adresse du serveur SMTP (par exemple, mail.votredomaine.com ou smtp.gmail.com).
- Le nom d’utilisateur, qui est généralement l’adresse courriel elle-même.
- Le mot de passe associé à cette adresse courriel.
Ces détails sont indispensables pour permettre l’authentification et garantir que vos courriels soient envoyés de manière sécurisée.
Utiliser un thème enfant actif
Il est tout aussi crucial de travailler avec un thème enfant. Lors de cette configuration, vous devrez ajouter du code PHP personnalisé dans le fichier functions.php
. En utilisant un thème enfant, vous vous assurez que ces modifications ne seront pas perdues lors des mises à jour du thème parent. Cela protège vos personnalisations et préserve la stabilité de votre site.
Une fois ces éléments en place, vous serez prêt à suivre les étapes du tutoriel pour configurer l’authentification SMTP efficacement et en toute sécurité.
Comprendre comment WordPress gère les courriels
Pour comprendre comment il est possible de configurer un serveur SMTP dans WordPress sans recourir à une extension, il faut examiner le fonctionnement natif de l’envoi de courriels dans WordPress.
La fonction wp_mail()
WordPress utilise la fonction wp_mail()
pour gérer l’envoi de courriels. Si l’on examine le code source de cette fonction, on constate que WordPress s’appuie sur la bibliothèque PhpMailer, largement utilisée dans la communauté des développeurs PHP. Le code pertinent montre l’inclusion de cette bibliothèque dans WordPress :
require_once ABSPATH . WPINC . '/PHPMailer/PHPMailer.php'; require_once ABSPATH . WPINC . '/PHPMailer/SMTP.php'; require_once ABSPATH . WPINC . '/PHPMailer/Exception.php'; $phpmailer = new PHPMailer\PHPMailer\PHPMailer(true);
Le rôle de PhpMailer
PhpMailer est une bibliothèque puissante et polyvalente, conçue pour simplifier l’envoi de courriels dans des projets PHP. Contrairement aux fonctions de messagerie basiques de PHP, comme mail()
, PhpMailer offre des fonctionnalités avancées telles que l’envoi via SMTP, le chiffrement SSL/TLS, et bien plus encore.
Cette bibliothèque, déjà incluse dans WordPress, contient tous les outils nécessaires pour configurer un envoi sécurisé via SMTP. Cependant, WordPress n’intègre pas nativement de solution simple pour permettre à l’utilisateur d’utiliser SMTP, bien que cela ne nécessiterait que quelques lignes de code supplémentaires.
Une opportunité non exploitée
Bien que PhpMailer supporte pleinement l’envoi de courriels via SMTP, WordPress s’en tient par défaut aux configurations de PHP sur le serveur, ce qui limite les possibilités d’authentification et augmente les risques de classement des courriels dans les dossiers de pourriels. Cette absence de prise en charge native oblige souvent les utilisateurs à installer des extensions tierces ou à intervenir directement dans le code pour activer l’envoi via SMTP.
Configuration de l’envoi des courriels via SMTP sans extension
Pour activer l’envoi de courriels via SMTP dans WordPress sans recourir à une extension, deux étapes principales sont nécessaires : la modification du fichier functions.php de votre thème enfant et la configuration des paramètres SMTP dans le fichier wp-config.php. Ces deux étapes permettent de personnaliser la gestion des courriels tout en maintenant votre site léger et performant.
Étape 1 : Ajouter le code au fichier functions.php
La première étape consiste à utiliser un hook WordPress, phpmailer_init
, pour configurer PHPMailer afin qu’il envoie les courriels via SMTP. Voici le code à ajouter à la fin du fichier functions.php de votre thème enfant :
/** * Configurer l'envoi par SMTP * * Les paramètres SMTP doivent être définis dans wp-config.php. */ add_action('phpmailer_init', 'my_phpmailer_smtp'); function my_phpmailer_smtp($phpmailer) { // Vérifie si la constante SMTP_server est définie if (defined('SMTP_server')) { $phpmailer->isSMTP(); $phpmailer->SMTPSecure = SMTP_SECURE; $phpmailer->Host = SMTP_SERVER; $phpmailer->Port = SMTP_PORT; $phpmailer->SMTPAuth = true; $phpmailer->Username = SMTP_USERNAME; $phpmailer->Password = SMTP_PASSWORD; $phpmailer->From = SMTP_FROM; $phpmailer->FromName = SMTP_NAME; // Activer le mode débogage si défini if (defined('SMTP_DEBUG')) { $phpmailer->SMTPDebug = SMTP_DEBUG; } } }
Explications :
- add_action(‘phpmailer_init’, ‘my_phpmailer_smtp’) : Associe la fonction
my_phpmailer_smtp
au hookphpmailer_init
pour modifier la configuration par défaut de PHPMailer. - $phpmailer->isSMTP() : Active l’envoi via SMTP.
- Les autres propriétés configurent les détails du serveur SMTP, tels que l’authentification, l’adresse d’expéditeur et la sécurité.
Étape 2 : Configurer les paramètres SMTP dans wp-config.php
Ensuite, définissez les constantes nécessaires dans le fichier wp-config.php, généralement situé à la racine de votre installation WordPress. Ajoutez le code suivant après la configuration de la base de données :
/** * Paramètres SMTP pour WordPress */ define('SMTP_AUTH', true); define('SMTP_USERNAME', 'UTILISATEUR@VOTRE_DOMAINE.COM'); define('SMTP_PASSWORD', 'VOTRE_MOT_DE_PASSE'); define('SMTP_SERVER', 'ADRESSE_URL_DU_SERVEUR_SMTP'); define('SMTP_FROM', 'ENVOYE_PAR@VOTRE_DOMAINE.COM'); define('SMTP_NAME', 'NOM_DE_VOTRE_SITE'); define('SMTP_PORT', 587); // Port standard pour TLS define('SMTP_SECURE', 'tls'); // Options : 'ssl', 'tls', ou vide define('SMTP_DEBUG', 0); // 0 pour désactiver le débogage
Explication des constantes
SMTP_AUTH
: Active l’authentification SMTP.SMTP_USERNAME
: Nom d’utilisateur pour le serveur SMTP.SMTP_PASSWORD
: Mot de passe associé.SMTP_SERVER
: Adresse du serveur SMTP.SMTP_FROM
: Adresse d’expéditeur.SMTP_NAME
: Nom affiché comme expéditeur.SMTP_PORT
: Port utilisé pour la connexion.SMTP_SECURE
: Sécurité utilisée (tls
oussl
).SMTP_DEBUG
: Mode débogage (0 = désactivé, 2 = activé).
Vérifier si la configuration SMTP fonctionne
Maintenant que vous avez ajouté le code dans le fichier functions.php de votre thème enfant et que vous avez configuré les constantes nécessaires dans le fichier wp-config.php, il est temps de tester votre configuration pour vous assurer que l’envoi de courriels via SMTP fonctionne correctement.
Étape 1 : Installer un formulaire temporaire
Pour tester votre configuration, vous pouvez ajouter un formulaire simple sur l’une des pages de votre site WordPress. Vous pouvez utiliser un constructeur de formulaires populaire comme Contact Form 7, WPForms, ou tout autre outil de création de formulaires.
- Créez un formulaire avec des champs de base, comme un nom, un courriel, et un message.
- Configurez ce formulaire pour qu’il envoie les informations saisies directement à une adresse courriel que vous contrôlez (par exemple, une adresse personnelle).
Étape 2 : Tester l’envoi du formulaire
Accédez à la page contenant le formulaire et remplissez-le avec des informations fictives. Soumettez le formulaire, puis vérifiez votre boîte de réception.
Étape 3 : Interpréter les résultats
- Si vous recevez le courriel correctement : Félicitations ! La configuration SMTP est fonctionnelle, et votre WordPress peut désormais envoyer des courriels en toute sécurité via votre serveur SMTP.
- Si vous ne recevez pas le courriel : Vérifiez les points suivants :
- Assurez-vous que les informations de connexion dans wp-config.php (comme le serveur SMTP, le nom d’utilisateur, et le mot de passe) sont correctes.
- Testez avec une autre adresse courriel comme destinataire pour éliminer un éventuel problème lié à la boîte de réception.
- Activez le mode débogage en modifiant la constante SMTP_DEBUG à
2
dans wp-config.php et consultez les journaux pour identifier les erreurs.
Avec ces étapes, vous devriez pouvoir valider votre configuration SMTP ou identifier les éventuelles corrections nécessaires. Si vous avez besoin d’aide pour résoudre un problème, n’hésitez pas à demander !
Conclusion
Bien qu’il existe de nombreuses extensions permettant de configurer l’authentification SMTP pour éviter que vos courriels ne finissent dans les dossiers « Spam » de vos clients, ces outils s’accompagnent souvent d’inconvénients. En effet, chaque extension ajoute du code supplémentaire à votre site, ce qui peut ralentir son temps de chargement. De plus, plusieurs extensions gratuites incluent des publicités dans votre tableau de bord WordPress, vous incitant à acheter leur version premium, ce qui peut encombrer votre espace de gestion.
En suivant ce guide, vous avez appris à configurer l’envoi de courriels via SMTP sans recourir à des extensions. Cette méthode garantit une solution légère et performante pour votre site, tout en vous offrant un contrôle total sur vos paramètres d’envoi. Vous évitez ainsi non seulement les ralentissements, mais également les publicités non désirées.
Adopter cette approche permet d’améliorer la délivrabilité de vos courriels tout en maintenant une expérience utilisateur optimale, tant pour vos visiteurs que pour vous en tant qu’administrateur. En bref, un site plus rapide, mieux optimisé, et sans compromis sur la fiabilité de vos communications.
Laisser un commentaire