Email Spam Tester

Email Spam Tester › Email Spam Tester pour cPanel & WHM

Email Spam Tester pour cPanel & WHM

Un plugin pour les hébergeurs. Vos clients le trouvent dans cPanel sous « Email », envoient un véritable e-mail depuis l'une de leurs boîtes aux lettres et obtiennent la liste des éléments à corriger, avec l'enregistrement DNS exact ou le bouton cPanel correspondant à côté de chaque résultat.

Version 0.1.1, 30 septembre 2026. Télécharger (94 Ko), SHA-256 4909ff8402b3244711bc13bac96cfc22810ee33d48f80885f87e44809572cdd0. Les étapes d'installation se trouvent à la fin de cette page, et le même texte figure dans le fichier INSTALL.md de l'archive. Le code source, les tests et les versions publiées sont disponibles sur GitHub.

À qui s'adresse-t-il

Aux entreprises qui exploitent des serveurs cPanel & WHM pour le compte de tiers. Vous l'installez une fois en tant que root, puis il apparaît dans cPanel » Email pour les forfaits de votre choix. Tant que vous ne l'activez pas dans Feature Manager, vos clients ne voient aucun changement.

Sans cette extension, un client qui veut comprendre pourquoi ses e-mails arrivent dans les spams doit trouver un outil de test, ouvrir un client de messagerie et envoyer manuellement un e-mail. Avec elle, le test devient un bouton à côté de ses boîtes aux lettres, et l'e-mail part réellement de votre serveur, avec son IP, son nom HELO, sa signature DKIM et tout relais par lequel il transite.

Ce que les clients obtiennent dans cPanel

Test

Le client choisit une boîte aux lettres et envoie soit l'e-mail de test standard (un court e-mail personnel en anglais, avec une partie texte et une partie HTML), soit son propre message. Pour son propre message, il colle un objet, le contenu HTML et, éventuellement, une version en texte brut. Le message est envoyé exactement tel qu'il a été collé. Exim l'envoie comme n'importe quel autre e-mail de ce compte. Environ une minute plus tard, le rapport apparaît sur la même page avec les 42 vérifications : SPF, DKIM, DMARC et l'alignement, le DNS inverse et HELO, TLS, les listes de blocage IP, SpamAssassin et Rspamd, les exigences publiées par Gmail et Yahoo pour les expéditeurs, ainsi que le contenu. Il y a deux scores, un score technique sur 100 et le score classique de 0 à 10.

« Vérifier le dossier chez les fournisseurs de messagerie » est coché par défaut. Lorsque cette option est activée, une copie de l'e-mail est également envoyée à chacune de nos boîtes aux lettres de test, soit environ 30 e-mails chez 14 fournisseurs, notamment Gmail, Outlook, Yahoo, GMX et Proton. Chez Gmail, il s'agit de boîtes aux lettres de test publiques, où tout le monde peut voir l'objet, le nom de l'expéditeur et le dossier. Le tableau se remplit pendant une période pouvant aller jusqu'à 30 minutes et indique Boîte de réception, Spam ou Promotions pour chaque fournisseur. Si un fournisseur a refusé directement l'e-mail, le tableau l'indique et cite la réponse de son serveur, code SMTP compris, à partir du journal Exim de votre serveur.

Sous les scores se trouve la section Ce qu'il faut corriger. Lorsque le DNS du domaine se trouve sur votre serveur, cPanel peut corriger DKIM, SPF et DMARC à l'aide d'un bouton. Le plugin affiche l'enregistrement actuel et celui qui le remplacera, puis demande confirmation. Lorsque le DNS est hébergé ailleurs, le client reçoit l'enregistrement exact à copier, avec son nom, son type et sa valeur. Le DNS inverse et l'enregistrement A du serveur se trouvent dans un groupe distinct destiné à l'administrateur du serveur, avec les valeurs déjà renseignées. Un plan écrit par Email Spam Tester est ajouté quelques minutes après les vérifications, et « Vérifier à nouveau » envoie un nouvel e-mail une fois les enregistrements en place.

Historique

Tous les tests envoyés par le compte sont affichés du plus récent au plus ancien, avec la date, la boîte aux lettres, l'e-mail utilisé, les deux scores et le nombre de messages dans chaque dossier. Un graphique montre l'évolution du score d'un test à l'autre. Chaque test répertorie les vérifications dont le résultat a changé depuis le test précédent du même domaine. Ainsi, une vérification DKIM passée d'un échec à une réussite après une correction apparaît directement sur la ligne. L'ouverture d'un test affiche son rapport et, pour chaque fournisseur, la réponse des serveurs destinataires. Les 200 derniers tests de chaque compte sont conservés sur votre serveur.

Surveillance continue

Un test effectué depuis une boîte aux lettres montre comment les e-mails de cette boîte sont envoyés. Le problème classique de cPanel se trouve ailleurs. Un site WordPress ou un formulaire de contact envoie un message avec l'expéditeur d'enveloppe user@hostname, l'alignement SPF échoue et aucun test effectué depuis une boîte aux lettres ne peut le détecter. La surveillance le détecte.

La copie invisible créée par la surveillance quitte votre serveur en suivant le même chemin que l'e-mail, depuis la même IP, avec le même HELO et la même signature DKIM. Exim la crée pour chaque e-mail envoyé par un domaine surveillé et la transmet à une adresse privée appartenant au domaine. Son rapport décrit donc le véritable chemin d'envoi, tandis que l'e-mail lui-même parvient à ses destinataires sans modification.

L'onglet Surveillance affiche les e-mails du domaine sous forme de flux. Chaque entrée indique le domaine du destinataire (jamais son adresse), la source de l'e-mail et les vérifications qui ont échoué. Les sources peuvent être le webmail, un client de messagerie, PHP ou WordPress, ainsi que les scripts qui appellent sendmail. Au-dessus du flux se trouvent un résumé sur une ligne des dernières 24 heures et les alertes : DKIM ne passe plus, SPF ou DMARC échoue pour une source, l'IP d'envoi figure sur une liste de blocage ou les serveurs destinataires refusent les e-mails. Chaque e-mail peut être ouvert pour afficher un rapport technique de ses vérifications (les en-têtes de l'e-mail sont exclus), et le client peut demander un plan généré par l'IA pour le corriger.

La surveillance reste désactivée tant que l'administrateur ne l'a pas autorisée sur le serveur. Ensuite, chaque client l'active pour ses propres domaines.

Ce que vous obtenez dans WHM

WHM » Plugins » Email Spam Tester tient sur une seule page.

Prix

Gratuit pour le moment, surveillance incluse. Il n'y a aucun compte à créer sur email-spam-tester.com et rien à payer pour le moment. Si cela change un jour, ce sera d'abord annoncé dans le journal des modifications.

Données et confidentialité

Ce qui quitte votre serveur :

Un rapport de test fonctionne comme sur le site : il reste accessible via son lien et toute personne disposant de ce lien peut l’ouvrir, objet et expéditeur compris. L’e-mail lui-même est supprimé une heure après son arrivée, une fois les vérifications terminées. Jusque-là, toute personne disposant du lien peut le lire en entier. La partie Gmail de la vérification du dossier est également publique, comme décrit ci-dessus. Il est donc préférable de tester les e-mails confidentiels sans cette partie.

Les copies de surveillance sont de vrais échanges, et leurs rapports sont privés. Seul le plugin installé sur votre serveur peut les ouvrir à l’aide de la clé d’installation, et aucun lien public n’est disponible. Une copie est supprimée deux jours après son arrivée et son rapport après 90 jours. L’historique et le flux de surveillance restent sur votre serveur.

La page de confidentialité contient la politique complète.

Questions posées par les hébergeurs

Modifie-t-il le DNS de lui-même ?

Non. Un enregistrement n'est modifié que lorsque le client appuie sur le bouton à côté d'un problème détecté et confirme les valeurs avant et après, et uniquement si votre serveur héberge le DNS du domaine. Les boutons SPF et DMARC créent seulement un enregistrement manquant. Si un enregistrement existe déjà, une version fusionnée est affichée pour que le client la copie manuellement, et aucun bouton ne le remplace. Le bouton DKIM peut remplacer un enregistrement qui ne correspond pas à la clé du serveur, mais uniquement s'il n'y en a qu'un. Chaque modification est consignée dans le journal du compte ainsi que dans un journal sous /var/cpanel/email_spam_tester/, que seul root peut modifier, avec l'enregistrement DNS fourni avant la modification.

Mon serveur transmet les e-mails sortants par un smarthost. Cela fonctionne-t-il quand même ?

Cela devrait fonctionner, mais je ne l'ai pas encore testé derrière un smarthost. L'e-mail de test est envoyé de la même manière que tous les e-mails du compte. Le rapport affiche donc l'IP et le nom du relais, car c'est ce que voient les destinataires. Corriger son DNS inverse ou le faire retirer d'une liste de blocage relève alors de la personne qui gère le relais. Une information se perd toutefois. Les raisons données par un fournisseur pour refuser un e-mail proviennent du journal Exim de votre serveur, et avec un relais, ce journal ne contient que la réponse du relais. Un e-mail accepté par le relais puis refusé ultérieurement par un fournisseur peut apparaître comme « Non reçu ». Les copies de surveillance passent également par le relais.

La surveillance affecte-t-elle la délivrabilité ?

L'e-mail du client est envoyé comme avant, sans modification, et ses destinataires ne voient rien, car la copie est envoyée séparément à notre adresse. En revanche, elle est prise en compte dans la limite d'envoi horaire. Chaque copie compte une fois dans la limite « max emails per hour » du domaine. Un domaine proche de sa limite l'atteindra donc plus tôt, avec au maximum 20 e-mails supplémentaires par heure avec le réglage par défaut. Une fois ce nombre de copies atteint au cours d'une heure, les e-mails sont envoyés sans copie.

La vérification des dossiers est-elle également prise en compte dans la limite horaire ?

Oui, elle envoie environ 30 e-mails. Avant de commencer, le plugin vérifie combien d'e-mails le domaine peut encore envoyer pendant l'heure en cours et indique au client si ce nombre est insuffisant.

Qu'est-ce qui a été testé en conditions réelles ?

cPanel & WHM 134 ou version ultérieure est pris en charge. Jusqu'à présent, je l'ai testé en conditions réelles sur la version 138 (11.138) avec Ubuntu 24.04. Cela couvre l'installation et une mise à niveau, l'enregistrement, le commutateur de fonctionnalité, les tests avec et sans vérification des dossiers, l'historique et la surveillance des e-mails provenant des quatre sources. Les autres systèmes d'exploitation, CloudLinux avec CageFS, les boutons DKIM, SPF et DMARC (le DNS du serveur de test est hébergé ailleurs), un serveur qui transmet les e-mails par un smarthost et la désactivation de la surveillance pour l'ensemble du serveur n'ont pas encore été testés en conditions réelles. Cette dernière n'a fait l'objet que d'une simulation. Si vous exécutez le plugin dans l'un de ces environnements, j'aimerais savoir comment cela s'est passé.

Installation, étape par étape

Ce guide suppose que vous disposez d'un accès root au serveur et que vous n'avez encore jamais utilisé de plugin WHM. Chaque commande ci-dessous est destinée à être copiée et collée telle quelle.

1. Prérequis

Vous pouvez vérifier les deux connexions avant l'installation. La première commande doit afficher une ligne commençant par 220, la seconde doit afficher 200 :

timeout 10 bash -c 'exec 3<>/dev/tcp/t.email-spam-tester.com/25 && head -1 <&3'
curl -s -o /dev/null -w '%{http_code}\n' https://email-spam-tester.com/health

2. Installation

Connectez-vous en SSH en tant que root et exécutez ces commandes une par une.

Accédez au répertoire personnel de root, où le plugin sera installé :

cd /root

Téléchargez l'archive et sa somme de contrôle. Rien ne s'affiche si l'opération réussit :

curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256

Vérifiez que le téléchargement est intact. Vous devez voir latest.tar.gz: OK. Si vous voyez FAILED, recommencez le téléchargement et ne continuez pas :

sha256sum -c latest.tar.gz.sha256

Décompressez l'archive dans /root/email-spam-tester-cpanel. Là encore, rien ne s'affiche :

mkdir -p email-spam-tester-cpanel
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1

Exécutez le programme d'installation. Il vérifie d'abord chaque fichier, puis les copie à leur emplacement :

cd /root/email-spam-tester-cpanel && ./install.sh

Vous devez voir Checking Perl syntax…, Root module…, cPanel pages…, quelques lignes provenant du programme d'installation de plugins de cPanel, Switching the feature off in all feature lists… et WHM page…. Les dernières lignes doivent être :

Installed. Next: WHM » Plugins » Email Spam Tester » Register this server.
Customers do not see it yet: turn on email_spam_tester in WHM » Feature Manager
for the feature lists (packages) that should have it.

Conservez le répertoire /root/email-spam-tester-cpanel. Les mises à niveau et uninstall.sh sont exécutés depuis celui-ci.

3. Enregistrement du serveur dans WHM

  1. Connectez-vous à WHM en tant que root.
  2. Dans le menu de gauche, ouvrez Plugins et cliquez sur Email Spam Tester.
  3. Le cadre Registration indique "Not registered". Le champ d'adresse e-mail de l'administrateur situé en dessous est facultatif.
  4. Cliquez sur Register this server.

Une ligne verte apparaît en haut, "Registered. Installation #…", et le cadre affiche maintenant Status: Registered, avec le numéro d'installation et le début de la clé. L'enregistrement envoie le nom d'hôte du serveur, la version de cPanel, la version du plugin, le nombre de comptes et l'adresse e-mail si vous en avez fourni une. La clé est conservée dans /var/cpanel/email_spam_tester/config.json et n'est lisible que par root.

Sur la même page, vous pouvez modifier les limites quotidiennes : 20 tests par compte et 500 par serveur par défaut.

4. Activation pour les clients

Après l'installation, personne ne voit le plugin. Vous choisissez les offres qui y ont accès.

  1. Déterminez la liste de fonctionnalités utilisée par vos offres : WHM » Packages » Edit a Package, choisissez une offre et consultez le champ Feature List. Sur de nombreux serveurs, il s'agit de default.
  2. Ouvrez WHM » Packages » Feature Manager.
  3. Sous Manage feature list, sélectionnez cette liste et cliquez sur Edit.
  4. Trouvez Email Spam Tester dans la liste [la fonction Find de votre navigateur est utile si la liste est longue], cochez sa case et cliquez sur Save.
  5. Répétez l'opération pour chaque liste de fonctionnalités qui doit y donner accès.

Les clients disposant de ces offres voient maintenant Email Spam Tester dans cPanel, dans la section Email. Pensez également à le cocher dans les listes de fonctionnalités que vous créerez par la suite.

5. Envoi du premier test en tant que client

Connectez-vous à cPanel avec le compte de l'un de ces clients. Depuis WHM, vous pouvez utiliser Account Information » List Accounts et l'icône cPanel située à côté du compte.

  1. Ouvrez Email » Email Spam Tester. La page comporte trois onglets : Test, History et Monitoring.
  2. Dans l'onglet Test, choisissez une boîte aux lettres. Si le compte n'en possède aucune, créez-en d'abord une dans Email » Email Accounts.
  3. Laissez Standard test email sélectionné et Check the folder at email providers coché.
  4. Cliquez sur Send test.

La page indique ce qu'elle est en train de faire : vérification des enregistrements DNS, envoi, attente de l'arrivée de l'e-mail. Environ une minute plus tard, le rapport apparaît. Il comporte deux scores, un score technique sur 100 et le score classique de 0 à 10, suivis de What to fix. Cette liste fournit un bouton lorsque cPanel peut corriger un enregistrement sur ce serveur, l'enregistrement exact à copier lorsque le DNS est hébergé ailleurs, ainsi que les valeurs de DNS inverse destinées à l'administrateur du serveur. Toutes les vérifications apparaissent ensuite. Where the email landed se complète au cours des 30 minutes suivantes avec Inbox, Spam ou Promotions pour chaque fournisseur de messagerie, ainsi que la réponse du fournisseur lorsqu'il a refusé l'e-mail. Un plan écrit apparaît quelques minutes après les vérifications.

La vérification du dossier envoie environ 30 e-mails. Si la limite horaire d'envoi du domaine ne permet pas de les envoyer, la page vous l'indique avant tout envoi.

6. Surveillance continue (facultatif)

Lorsque la surveillance est activée pour un domaine, Exim envoie une copie invisible de chaque e-mail envoyé par le domaine à une adresse privée d'Email Spam Tester, et le client voit un rapport technique pour chaque e-mail. Les destinataires ne voient rien. Chaque copie est comptabilisée une fois dans la limite horaire d'envoi du domaine, avec un maximum de 20 copies par heure par défaut.

  1. Dans WHM » Plugins » Email Spam Tester, trouvez le cadre Constant monitoring et cliquez sur Allow constant monitoring on this server. Le plugin vérifie votre configuration Exim, ajoute sa règle, reconstruit et redémarre Exim, puis rétablit l'état initial si une étape échoue. Lorsque l'opération réussit, vous voyez "Constant monitoring is allowed on this server: the Exim rule is in, Exim was rebuilt and restarted." et le cadre indique que la règle est Active.
  2. Le client ouvre l'onglet Monitoring dans cPanel, clique sur Turn on à côté d'un domaine et confirme. Les e-mails envoyés ensuite apparaissent dans l'onglet en une ou deux minutes.

Pour arrêter la surveillance sur l'ensemble du serveur, cliquez sur Disable monitoring on the whole server dans le même cadre.

7. Mise à niveau

Téléchargez et décompressez la nouvelle version par-dessus l'ancienne, puis exécutez de nouveau le programme d'installation :

cd /root
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz
curl -fsSLO https://email-spam-tester.com/cpanel/latest.tar.gz.sha256
sha256sum -c latest.tar.gz.sha256
tar -xzf latest.tar.gz -C email-spam-tester-cpanel --strip-components=1
cd /root/email-spam-tester-cpanel && ./install.sh

L'opération doit se terminer par "Updated. The registration, limits and feature settings are unchanged." Si la surveillance est autorisée, le programme d'installation met également à jour la règle Exim.

8. Désinstallation

cd /root/email-spam-tester-cpanel && ./uninstall.sh

Cette opération retire la règle de surveillance d'Exim, désactive la surveillance pour chaque domaine et supprime le plugin de cPanel et WHM. Elle se termine par "Removed. The key is kept in /var/cpanel/email_spam_tester (use --purge to delete it)." Exécutez plutôt ./uninstall.sh --purge pour supprimer également la clé.

Les enregistrements DNS ne sont jamais modifiés, y compris ceux que les clients ont créés avec les boutons du plugin.

9. En cas de problème

Les clients ne voient pas l'icône. La fonctionnalité est désactivée dans la liste de fonctionnalités de leur offre. Reprenez l'étape 4 et vérifiez quelle liste de fonctionnalités leur offre utilise réellement.

La page indique "The server administrator has not activated Email Spam Tester in WHM yet". Le serveur n'est pas enregistré. Effectuez l'étape 3.

L'enregistrement échoue. Le message rouge en haut de la page WHM en indique la raison. Le plus souvent, le serveur ne peut pas atteindre email-spam-tester.com en HTTPS : exécutez la vérification avec curl de l'étape 1, qui doit afficher 200, puis vérifiez les règles du pare-feu concernant le trafic sortant.

Le test indique que le message n'est pas arrivé dans les 3 minutes. L'e-mail est bloqué dans la file d'attente ou a été refusé. Exécutez la vérification du port 25 de l'étape 1. Si elle n'affiche rien ou expire, votre fournisseur bloque le port sortant 25 : demandez-lui de l'ouvrir ou envoyez les e-mails par l'intermédiaire d'un relais. Pour voir ce qu'Exim a fait de l'e-mail :

grep 't.email-spam-tester.com' /var/log/exim_mainlog | tail -5

Le client peut également consulter Email » Track Delivery pour la boîte aux lettres.

Les pages sur cpanel.<domain> échouent parfois avec une erreur 502. Le problème vient du proxy Apache pour les sous-domaines de service de cPanel et touche toutes les pages cPanel, pas seulement ce plugin. L'adresse directe https://<domain>:2083 n'est pas concernée. Pour corriger le problème, ouvrez WHM » Service Configuration » Apache Configuration » Include Editor, choisissez Pre VirtualHost Include pour toutes les versions, ajoutez ces lignes et enregistrez :

<IfModule setenvif_module>
    SetEnvIfNoCase Host "^(cpanel|webmail|whm|webdisk|cpcalendars|cpcontacts)\." proxy-nokeepalive=1 proxy-initial-not-pooled=1
</IfModule>

Appliquez ensuite la modification :

apachectl configtest && /scripts/rebuildhttpdconf && /scripts/restartsrv_httpd

10. Assistance

Écrivez à hi@email-spam-tester.com. Incluez la sortie de ./install.sh si l'installation a échoué, ou le lien du rapport si un test semble incorrect. Vous trouverez plus d'informations sur le plugin à l'adresse https://email-spam-tester.com/cpanel-integration/.