Sécuriser les communications email de WordPress

Sécuriser les emails WordPress : le vrai sujet n’est pas seulement l’envoi

Un email WordPress peut servir à réinitialiser un mot de passe, confirmer une commande WooCommerce, prévenir un administrateur ou répondre à un formulaire. Quand cette chaîne n’est pas maîtrisée, le risque n’est pas seulement que les messages arrivent en spam : un attaquant peut aussi profiter d’une mauvaise configuration pour usurper le domaine, détourner des réponses ou faire perdre confiance aux utilisateurs.

Pourquoi la fonction mail() pose problème

Par défaut, beaucoup d’installations WordPress s’appuient encore sur la fonction PHP mail(). Elle peut fonctionner pour un petit site vitrine, mais elle ne donne pas toujours une identité claire au serveur expéditeur. Le message peut partir depuis une adresse technique de l’hébergement, sans alignement SPF, DKIM ou DMARC avec le domaine visible dans le champ expéditeur.

Résultat : Gmail, Outlook ou Yahoo peuvent considérer l’email comme douteux, surtout si le site envoie des confirmations de commande, des liens de connexion ou des pièces jointes. Pour un site piraté, c’est encore plus critique : les attaquants utilisent souvent l’envoi d’emails pour tester la réputation du serveur ou envoyer du spam depuis le domaine compromis.

La base : SMTP authentifié et domaine aligné

La première mesure fiable consiste à envoyer les emails via un serveur SMTP identifié. Cela peut être le serveur mail du domaine, un service transactionnel ou une solution professionnelle dédiée. L’objectif est simple : WordPress ne doit pas improviser l’expéditeur. Il doit s’authentifier avec un compte prévu pour cela, sur un port sécurisé, avec TLS activé.

  • SPF indique quels serveurs ont le droit d’envoyer pour le domaine.
  • DKIM signe les messages pour prouver qu’ils n’ont pas été modifiés.
  • DMARC précise quoi faire lorsqu’un email échoue aux contrôles SPF ou DKIM.

Le point souvent oublié est l’alignement : l’adresse visible par l’utilisateur doit correspondre au domaine authentifié. Envoyer depuis contact@votredomaine.fr via un service qui signe pour un autre domaine peut rester fragile si la configuration n’est pas complète.

Réglage WordPress recommandé

Sur WordPress, l’approche propre consiste à installer un plugin SMTP maintenu, configurer l’expéditeur unique, activer TLS, puis tester les emails transactionnels réels : formulaire de contact, récupération de mot de passe, notification administrateur et commande si WooCommerce est présent. Le test doit être fait depuis plusieurs boîtes, pas seulement depuis votre propre adresse.

Évitez d’utiliser un compte administrateur personnel comme expéditeur technique. Créez une adresse dédiée, par exemple noreply@ ou contact@, avec un mot de passe applicatif lorsque le fournisseur le permet. Les identifiants SMTP ne doivent jamais être stockés dans un thème, un snippet public ou un dépôt de code.

Durcir les formulaires pour éviter l’abus

Un formulaire de contact WordPress mal protégé peut devenir une passerelle de spam. Les champs nom, sujet et email doivent être validés côté serveur. Il faut refuser les retours ligne dans les champs utilisés pour les en-têtes, échapper les sorties HTML, limiter la fréquence d’envoi par IP et ajouter une protection anti-robot adaptée au niveau de trafic.

Après un piratage, vérifiez aussi les plugins de formulaire, les règles de redirection, les comptes administrateurs et les tâches planifiées. Un site nettoyé mais encore capable d’envoyer du spam restera surveillé de près par les fournisseurs mail.

Checklist rapide

  • SMTP authentifié avec TLS.
  • SPF, DKIM et DMARC publiés dans le DNS.
  • Adresse expéditrice cohérente avec le domaine.
  • Tests sur récupération de mot de passe, formulaires et commandes.
  • Validation serveur des champs de formulaire.
  • Surveillance des rebonds, erreurs SMTP et plaintes spam.

La sécurité email d’un site WordPress se joue donc autant dans le DNS que dans WordPress. Une fois l’alignement propre, les messages sont plus fiables, l’usurpation devient plus difficile et les incidents post-piratage sont beaucoup plus simples à diagnostiquer.