WordPress a une manière native d’envoyer des e-mails. Il utilise la fonction PHP mail() pour envoyer toutes ces newsletters, réinitialisations de mot de passe ou tout autre type d’e-mail que vous envoyez à votre public. Bien que cette méthode devrait théoriquement être suffisante, elle est loin d’être parfaite.
Dans WordPress, l’envoi d’e-mails avec SMTP est une bien meilleure alternative. Et ce n’est pas compliqué à mettre en place. Le tutoriel d’aujourd’hui vous montrera comment faire cela avec et sans plugins.
Qu’est-ce que SMTP ?
SMTP ou Simple Mail Transfer Protocol définit les règles de transmission des e-mails. Il permet d’échanger des e-mails entre différents types d’ordinateurs, de serveurs et de réseaux.
Un serveur SMTP est une application qui fonctionne selon le protocole SMTP et envoie des e-mails de l’expéditeur au destinataire. Pour simplifier ce processus, le serveur SMTP reçoit les e-mails du client de messagerie (Gmail, Yahoo!, Outlook, etc.) et les transfère vers d’autres serveurs SMTP si nécessaire. Ensuite, les e-mails sont récupérés par le serveur SMTP des destinataires et livrés à l’aide de serveurs de courrier entrant (POP3 ou IMAP).
Pourquoi est-ce une bonne idée d’utiliser SMTP pour envoyer des e-mails dans WordPress ?
Comme nous l’avons mentionné au début, WordPress utilise la fonction PHP mail() pour envoyer des e-mails. Cette méthode est problématique pour plusieurs raisons :
- Il convient principalement aux e-mails simples en texte brut. Les capacités HTML sont assez limitées et vous ne pouvez pas ajouter de pièces jointes ni incorporer d’images. Cela vous laisse avec des e-mails ennuyeux et peu ou pas d’éléments de conception ;
- Il a d’importants problèmes de délivrabilité. PHP mail() n’a pas d’en-têtes d’e-mail appropriés. Par conséquent, les fournisseurs de services Internet (FAI) marquent les e-mails envoyés avec cette méthode comme spam ou les rejettent complètement. Ainsi, si, par exemple, vous envoyez automatiquement par e-mail de nouveaux messages à vos abonnés à l’aide de PHP mail(), il est probable que vous fréquentiez les dossiers de spam ;
- Il ne permet pas d’envoyer des e-mails via des serveurs externes. Même si vous configurez les paramètres SMTP, il ne sera utilisable qu’avec localhost ou une solution similaire. PHP mail() ne prend pas non plus en charge l’authentification SMTP.
La solution la plus simple consiste à configurer WordPress pour envoyer des e-mails avec un serveur SMTP. Ce dernier nécessite une authentification d’en-tête et prend en charge la transmission sécurisée via SSL et TLS. Cela signifie que vous aurez moins de chances de rencontrer des problèmes de délivrabilité des e-mails, en particulier si vous utilisez un service SMTP fiable et configurez tout correctement.
Sur cette note, découvrons comment envoyer des e-mails dans WordPress avec un serveur SMTP.
Configuration de SMTP dans WordPress sans plugins
Vous pouvez configurer SMTP dans WordPress sans plugins avec un peu de codage et PHPMailer. C’est une bibliothèque créée pour PHP pour pallier les défauts de la fonction mail(). PHPMailer prend en charge les corps d’e-mails complexes (y compris le HTML et les images intégrées) et les pièces jointes. Surtout, il vous permet d’envoyer des e-mails avec n’importe quel serveur SMTP.
Pour que PHPMailer fonctionne, nous avons besoin d’un serveur SMTP fonctionnel. Dans l’exemple de code ci-dessous, nous utiliserons Gmail SMTP pour envoyer des e-mails dans WordPress. Mais avant de commencer, vous devez créer un mot de passe d’application avec ces consignes. Sinon, vous ne pourrez pas vous authentifier avec succès.
Maintenant, accédez au répertoire racine de votre site Web et localisez wp-config.php déposer. Utilisez l’exemple de code suivant pour configurer les paramètres SMTP de WordPress à l’aide des informations d’identification Gmail.
define( 'SMTP_username', 'your-email@gmail.com' ); define( 'SMTP_password', 'your-gmail-app-password' ); define( 'SMTP_server', 'smtp.gmail.com' ); define( 'SMTP_FROM', 'your-sender-email@gmail.com' ); define( 'SMTP_NAME', 'Your Name' ); define( 'SMTP_PORT', '587' ); define( 'SMTP_SECURE', 'tls' ); define( 'SMTP_AUTH', true ); define( 'SMTP_DEBUG', 0 );
Allez dans l’éditeur de thème et trouvez fonctions.php fichier pour d’autres modifications. Notez qu’il est recommandé d’apporter des modifications au thème enfant pour éviter les dysfonctionnements du thème principal. Ajoutez le script suivant au fonctions.php déposer.
add_action( 'phpmailer_init', 'my_phpmailer_smtp' ); function my_phpmailer_smtp( $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->Host = SMTP_server; $phpmailer->SMTPAuth = SMTP_AUTH; $phpmailer->Port = SMTP_PORT; $phpmailer->Username = SMTP_username; $phpmailer->Password = SMTP_password; $phpmailer->SMTPSecure = SMTP_SECURE; $phpmailer->From = SMTP_FROM; $phpmailer->FromName = SMTP_NAME; } Save the settings and that’s it. Now your WordPress sends emails via SMTP server.
Pour plus de détails, voir comment envoyer des e-mails dans WordPress via la fonction PHP.
Utiliser des plugins pour configurer WordPress SMTP
Un moyen plus simple de configurer WordPress pour envoyer des e-mails via SMTP consiste à utiliser des plugins dédiés. Ils ne nécessitent pas de compétences en codage – vous pourrez les configurer même sans l’aide des développeurs.
WP Mail SMTP
WP Mail SMTP est le plugin le plus populaire pour configurer SMTP. Il demande à PHP mail() d’utiliser l’un des expéditeurs intégrés ou les paramètres SMTP personnalisés. Ce faisant, il résout les problèmes de délivrabilité de la fonction native.
Vous pouvez facilement installer WP Mail SMTP en accédant à l’onglet « Plugins » du tableau de bord de votre site Web WordPress et en appuyant sur « Ajouter un nouveau ». Tapez « WP Mail SMTP » dans le champ de recherche, appuyez sur « Installer maintenant », puis sur « Activer ».
Une fois le plugin installé, vous pouvez configurer le mailer depuis le tableau de bord ou en utilisant l’assistant de configuration. Les deux ont le même concept, juste des designs différents. Nous préférons utiliser le tableau de bord, nous allons donc configurer le plugin avec son aide.
Nous avons deux options principales :
- Configurer WP Mail SMTP avec des services SMTP tiers
- Utiliser une messagerie intégrée
La première étape est la même pour les deux options, alors discutons-en ici. Ouvrez les paramètres SMTP de WP Mail et faites défiler jusqu’à From Email et From Name sous l’onglet « Primary Connection ».
Dans le champ De l’e-mail, saisissez l’adresse e-mail qui sera utilisée pour envoyer les e-mails. Il peut s’agir d’un compte de messagerie gratuit, mais nous recommandons une adresse avec un domaine personnalisé pour une meilleure délivrabilité. Pour vous assurer que l’adresse saisie est utilisée dans tous les e-mails, cochez la case Forcer à partir de l’e-mail.
Dans le champ Nom de l’expéditeur, entrez le nom qui sera affiché dans les e-mails envoyés. Encore une fois, cochez Force From Name pour vous assurer que les autres plugins (par exemple, WooCommerce ou le plugin de newsletter WordPress) ne remplacent pas ce paramètre.
Une fois cela fait, nous pouvons passer à la configuration du mailer pour demander à WordPress d’envoyer des e-mails avec le plugin.
Configuration de la messagerie WP avec des services SMTP tiers
L’utilisation d’un service SMTP tiers fiable est essentielle pour garantir que vos e-mails WordPress sont livrés dans les boîtes de réception des destinataires. Avec la fonctionnalité Autre SMTP de WP Mail SMTP, vous pouvez facilement intégrer votre messagerie préférée. Pour le didacticiel d’aujourd’hui, nous utiliserons un service SMTP fiable fourni par Mailtrap.
Mais avant de l’intégrer à votre site Web WordPress, vous devez d’abord créer un compte et suivre un assistant intégré à l’application pour vérifier votre domaine. Pour ce faire, vous devez avoir accès aux enregistrements DNS de votre domaine. Dans ceux-ci, vous devrez ajouter des enregistrements SPF, DKIM et DMARC prêts à l’emploi, puis appuyer sur Vérifier le domaine.
Une fois que votre compte est opérationnel, revenez à « Domaines d’envoi » et appuyez sur le domaine vérifié. Cliquez ensuite sur ‘API et SMTP’, choisissez ‘SMTP’ et copiez les informations d’identification.
Revenez à WP Mail SMTP et choisissez Autre SMTP sous l’onglet Mailer.
Vous verrez un ensemble de champs vides. Remplissez-les en utilisant les informations d’identification SMTP de Mailtrap :
- Hôte SMTP : live.smtp.mailtrap.io
- Cryptage : TLS (vous pouvez également choisir SSL, mais TLS est recommandé)
- Port SMTP : 587 (sera rempli automatiquement)
- Authentification : activer
- Nom d’utilisateur SMTP : api
- Mot de passe SMTP : votre mot de passe SMTP
Appuyez sur ‘Enregistrer les paramètres’. Vous verrez une fenêtre de confirmation. Si tout est correctement configuré et que WordPress envoie un e-mail SMTP, revenez à votre compte Mailtrap et appuyez sur « Vérifier la configuration ».
Utilisation de la messagerie intégrée
Passons à la deuxième option d’intégration – utiliser un logiciel de messagerie intégré pour s’assurer que WordPress utilise SMTP pour envoyer des e-mails. Avec cette méthode, vous pouvez sélectionner l’un des expéditeurs de WP Mail SMTP, y compris SendLayer, SMTP.com, Sendinblue, Amazon SES, etc. Cette méthode peut également être utilisée pour configurer Gmail SMTP dans WordPress ou même Microsoft 365/Outlook.
Le processus d’intégration est similaire pour la plupart des ESP. Bien sûr, vous devez avoir un compte de travail pour l’intégrer à WP Mail SMTP. Il vous suffira de choisir le mailer et de saisir la clé API de votre compte. Les instructions à ce sujet seront disponibles dans la documentation officielle de l’ESP.
Avec certains expéditeurs, vous devrez peut-être saisir votre domaine d’envoi, votre ID de flux de messages ou votre région. Des instructions détaillées pour chaque expéditeur sont disponibles ici.
Plugin WordPress HubSpot
WP Mail SMTP est principalement utilisé pour configurer WordPress pour envoyer des e-mails avec SMTP. Au contraire, le plugin HubSpot WordPress est un plugin complet de gestion de la relation client (CRM) pour votre site Web WordPress. Avec son aide, vous pouvez créer des listes de diffusion avec les formulaires d’inscription, communiquez avec les visiteurs avec le chat en direct et analysez les métriques importantes.
Plus important encore, le plugin HubSpot WordPress vous permet d’intégrer votre ESP préféré pour envoyer des e-mails marketing (manuellement ou automatiquement) à vos contacts. Il a également des modèles intégrés et un éditeur glisser-déposer. Donc, si vous recherchez quelque chose de plus qu’une configuration SMTP, HubSpot peut être un bon choix pour vous.
SMTP Gmail
Gmail SMTP est un autre plugin WordPress pour envoyer des e-mails avec SMTP, mais il est spécialement conçu pour Gmail. Il s’appuie sur PHPMailer et la fonction native wp_mail pour envoyer des e-mails, ce qui signifie que vous pouvez toujours utiliser toutes leurs fonctionnalités.
Le plug-in Gmail SMTP se connecte à Gmail à l’aide de l’API et du protocole OAuth 2.0. De cette façon, vous n’aurez pas à saisir de nom d’utilisateur ou de mot de passe. Cependant, vous devrez créer une application dans Google Developer Console et configurer les informations d’identification OAuth. Heureusement, la page officielle du plugin répertorie les instructions nécessaires.
Post SMTP Mailer
La dernière option que nous avons ici est Post SMTP Mailer. C’est un plugin convivial qui vous permet d’intégrer ESP en utilisant SMTP ou API. La version gratuite prend en charge les API Mailgun, SendGrid, Mandrill (maintenant Mailchimp Transactional Email), SparkPost, Postmark, Sendinblue et Gmail. La version Pro vous donnera accès à Zoho Mail, Amazon SES et Microsoft 365.
De plus, Post SMTP Mailer stocke les journaux de messagerie et envoie des notifications Chrome en cas de problème.
Comment tester les emails dans WordPress ?
Pour vous assurer que votre configuration peut envoyer des e-mails depuis WordPress avec succès, vous devrez tester vos e-mails. La plupart des plugins sont livrés avec la fonction de test par défaut pour une inspection de base.
Avec WP Mail SMTP, par exemple, vous pouvez accéder à l’onglet ‘Email Test’, entrer votre adresse e-mail et appuyer sur ‘Envoyer un e-mail’. Si la configuration est correcte, vous devriez trouver un e-mail de test dans votre boîte de réception. Sinon, WP Mail SMTP vous montrera un journal des erreurs.
Cependant, tester la fonctionnalité d’envoi d’e-mails n’est pas toujours suffisant. Il est essentiel de tester le HTML, de valider les en-têtes et de vérifier votre score de spam avant d’envoyer des e-mails à vos contacts. C’est là que Mailtrap est une autre solution, Test de courrier électronique peut vous aider. Il capturera vos e-mails WordPress dans une boîte de réception virtuelle, en s’assurant qu’aucun d’entre eux n’atteindra les boîtes de réception des destinataires.
Semblable à Envoi d’e-mails, Email Testing peut être intégré aux plugins WordPress à l’aide de ses informations d’identification SMTP. Vous les trouverez dans votre compte en développant « Ma boîte de réception » et en appuyant sur « Afficher les informations d’identification ». Voici à quoi ressembleront des exemples de paramètres SMTP :
- Hôte SMTP : sandbox.smtp.mailtrap.io
- Cryptage : TLS ou SSL
- Port SMTP : 465 ou 587
- Authentification : activer
- Nom d’utilisateur SMTP :
- Mot de passe SMTP :
En quelques secondes, votre e-mail de test apparaîtra dans votre boîte de réception virtuelle si la configuration est correcte.
Comme nous l’avons vu, pour configurer WordPress pour envoyer des emails avec SMTP, vous avez deux options principales : coder avec PHPMailer ou utiliser des plugins. La première option est plus adaptée aux développeurs, tandis que la seconde est parfaite pour les spécialistes du marketing. Quelle que soit la méthode que vous choisissez, l’essentiel est de trouver un moyen de contourner les défauts de PHP.
Tous les plugins que nous avons listés ci-dessus vous permettent d’utiliser le SMTP de Gmail. S’il est suffisant pour envoyer des e-mails occasionnels, mieux vaut opter pour un ESP fiable pour envoyer de gros volumes d’e-mails. Sinon, vos e-mails seront très probablement marqués comme spam.