Version 0.1.0, 1er octobre 2026. Télécharger (75 Ko), SHA-256 5df918a10cd996799f5d144abcc101970fab31fbb7e2298be78362257c0aaa28. Les étapes d’installation se trouvent à la fin de cette page. Dans l’archive, le même texte se trouve dans INSTALL.md. Le code et la même archive publiée en tant que version sont également disponibles sur GitHub.
À qui s’adresse cette extension
Aux hébergeurs dont les serveurs exécutent Plesk Obsidian 18.0.50 ou une version ultérieure sous Linux. Vous installez l’extension en tant que root et enregistrez le serveur une seule fois. Ensuite, chaque client trouve Email Spam Tester dans Websites & Domains › leur domaine › Mail, à côté de Mail Settings. Les offres de services déterminent les fonctionnalités auxquelles chaque client a accès.
Un outil de test web ne peut pas examiner le côté expéditeur, il voit uniquement l’e-mail qui lui est parvenu. L’extension envoie l’e-mail de test depuis votre serveur, via Postfix, signé avec la clé DKIM du domaine et en utilisant son adresse IP et son nom HELO. Le rapport porte donc sur la configuration réellement utilisée par le client. Et comme Plesk gère la zone DNS du domaine, il suffit souvent d’un clic pour ajouter un enregistrement manquant.
Ce que voit un client
Test
En haut, une vérification est effectuée avant l'envoi de tout e-mail : si ce serveur respecte le SPF du domaine, si Plesk signe avec DKIM et si la clé dans DNS correspond à celle qu'il utilise pour signer, ainsi que la politique DMARC et le MX. Chaque problème comporte un bouton Corriger, ou Afficher l'enregistrement lorsque le DNS du domaine est hébergé ailleurs.
En dessous, le client choisit une boîte aux lettres du domaine et le mode d'envoi du test. L'e-mail peut être envoyé depuis cette boîte aux lettres, ou comme le site web envoie ses e-mails, sous l'utilisateur système propre à l'abonnement, comme le font WordPress, les formulaires de contact et les notifications des boutiques. La seconde option détecte un problème d'hébergement courant : les e-mails envoyés par PHP partent avec un expéditeur que le SPF du domaine ne couvre pas. L'e-mail utilisé est soit l'e-mail de test standard, un court message en anglais aux formats texte et HTML, soit celui du client, collé sous forme d'objet, de contenu HTML et, facultativement, de contenu texte.
« Vérifier également le dossier chez les fournisseurs de messagerie » est activé par défaut. En arrière-plan, dans un ordre aléatoire et à deux à quatre secondes d'intervalle, le serveur envoie alors une copie à chacune de nos boîtes aux lettres de test chez Gmail, Outlook, Yahoo et d'autres fournisseurs. Chaque copie possède son propre Message-ID, ce qui permet à l'extension de retrouver les lignes correspondantes dans le journal de Postfix. Au cours de la demi-heure suivante, le tableau se remplit : boîte de réception, spam ou promotions pour chaque fournisseur ou, lorsqu'un fournisseur a refusé l'e-mail, sa réponse accompagnée du code SMTP. Chez Gmail, il s'agit de boîtes aux lettres de test publiques. Toute personne qui y accède peut voir l'objet, le nom de l'expéditeur et le dossier. Il est donc préférable de tester les contenus confidentiels sans la vérification du dossier.
Le rapport contient toutes les vérifications, le score sur 100 et le score classique de 0 à 10, le plan IA et les mêmes boutons de correction. Cette fois, ils utilisent l'IP depuis laquelle le rapport a réellement vu arriver l'e-mail.
Historique
Tous les tests du domaine, du plus récent au plus ancien, avec les deux scores et le nombre d'e-mails dans chaque dossier, un graphique du score et, pour chaque test, les vérifications dont le résultat a changé depuis le test précédent. Après une correction de DKIM, la ligne indique que DKIM est passé d'un échec à une réussite.
Surveillance
Si vous l'autorisez sur le serveur, un client peut activer la surveillance pour un domaine. Dès lors, chaque e-mail envoyé par le domaine reçoit un rapport technique comprenant DKIM, SPF et DMARC, l'IP d'envoi et les listes de blocage. L'onglet récapitule les dernières 24 heures par source, afin que les e-mails envoyés par le PHP du site web soient comptabilisés séparément de ceux provenant du webmail ou d'une application de messagerie. Viennent ensuite les alertes, par exemple lorsque DKIM échoue dans les derniers e-mails ou que SPF échoue pour les e-mails envoyés par le site web. En dessous figurent les derniers e-mails avec leurs rapports. Deux confirmations de commande issues du même modèle de boutique ne comptent que comme une seule vérification sur une période d'une heure. Ainsi, une boutique très active ne produit pas un millier de rapports identiques. Un plan IA pour un seul e-mail est disponible sur demande.
Ce que l'administrateur obtient
Tools & Settings › Mail › Email Spam Tester permet d'enregistrer l'extension et d'activer la surveillance sur l'ensemble du serveur. Vous pouvez y définir, pour chaque abonnement, les limites applicables aux tests, aux vérifications de dossiers, aux forfaits d'IA et aux domaines surveillés, ainsi que le nombre d'e-mails par jour pour chaque domaine surveillé. Un tableau répertorie les IP propres au serveur, avec leur DNS inverse, indique s'il correspond au nom HELO et affiche les listes de blocage.
L'extension ajoute quatre autorisations aux offres de services, pour l'extension elle-même, les boutons de correction, la vérification de dossiers et la surveillance. Les quatre sont activées par défaut. Les boutons DNS nécessitent également l'autorisation de l'offre permettant de gérer le DNS, et le bouton DKIM nécessite celle permettant de gérer les paramètres de messagerie.
Prix
Gratuit pour le moment, comme l’outil de test lui-même. Le journal des modifications sera le premier endroit où tout changement sera annoncé. Les limites que vous définissez s’appliquent dans la limite de celles qu’Email Spam Tester impose par serveur [vérifications de dossiers, vérifications de domaines et domaines surveillés par jour]. La page de l’administrateur affiche les deux, ainsi que l’utilisation du jour.
Fonctionnement et données qui quittent votre serveur
L’extension envoie l’e-mail de test depuis votre serveur et ne prend elle-même aucune décision. Les résultats des vérifications, l’historique, les changements, l’enregistrement DNS à publier, le flux de surveillance, les alertes et les limites sont tous déterminés par l’API Email Spam Tester, la même que celle utilisée par le site. Les données suivantes sont envoyées à l’API :
- le nom d’hôte du serveur, les versions de Plesk et de l’extension, le nombre de domaines et, si vous la fournissez, l’adresse e-mail de l’administrateur, une seule fois lors de l’inscription ;
- les e-mails de test ;
- chaque abonnement sous la forme d’un hachage avec clé, jamais son nom ;
- pour la vérification DNS, les enregistrements TXT que Plesk conserve pour le domaine, sa clé DKIM, les IP du serveur et son nom HELO, ainsi qu’une boîte aux lettres du domaine pour les rapports DMARC ;
- les lignes de votre journal de messagerie concernant nos propres e-mails de test ;
- lorsque la surveillance est activée, des copies des e-mails sortants du domaine.
Comme sur le site, les rapports de test disposent de liens, et toute personne possédant le lien peut ouvrir le rapport correspondant. Le flux de surveillance est différent, car il contient les e-mails réels de vos clients. Ses rapports ne peuvent être ouverts qu’avec la clé de votre serveur. L’e-mail copié est supprimé après deux jours, et son rapport après 90 jours. La page de confidentialité contient les autres informations.
Questions posées par les hébergeurs
Modifie-t-il le DNS tout seul ?
Non. Un enregistrement est modifié lorsque le client clique sur Fix et confirme l'enregistrement dans son état actuel et dans son état futur, et uniquement lorsque le DNS du domaine est effectivement lu depuis votre serveur. Un enregistrement SPF conserve tous ses termes existants. L'IP du serveur est ajoutée en premier et n'entraîne aucune requête DNS supplémentaire. Une politique DMARC existante n'est jamais remplacée. Chaque modification est consignée dans le journal d'actions de Plesk et peut être annulée depuis l'onglet Test, à condition que personne n'ait modifié l'enregistrement depuis. Les résolveurs publics mémorisent l'absence d'un enregistrement pendant la durée minimale SOA de la zone, soit trois heures dans le modèle par défaut de Plesk. Un test effectué juste après une correction peut donc encore afficher l'ancien résultat.
Comment la surveillance copie-t-elle les e-mails ?
Un gestionnaire de courrier Plesk s'exécute après la signature de l'e-mail par Plesk avec DKIM. Il transmet chaque message sans le modifier et, pour un domaine dont la surveillance est activée, remet une copie à un service Postfix à l'écoute sur 127.0.0.1, qui accepte uniquement nos adresses de surveillance. Postfix distribue ensuite la copie comme n'importe quel autre e-mail, depuis la même IP et avec la même signature. Le propriétaire de l'e-mail est déterminé à partir de l'identifiant SMTP ou de l'utilisateur système de l'abonnement, jamais à partir de la seule adresse de l'expéditeur. Personne ne peut donc envoyer ses e-mails dans le flux d'un autre client. Le gestionnaire est installé dans /usr/local/lib/email-spam-tester, et la liste des domaines dans /etc/email-spam-tester/monitor.json.
Cela ralentit-il les e-mails sortants ?
Le gestionnaire lit le message et le retransmet. La copie est envoyée au service local par un processus distinct, l'e-mail d'origine n'attend donc pas sa distribution. J'ai envoyé une pièce jointe de 5 MB avec sendmail et SMTP alors que la surveillance était activée. L'e-mail d'origine et sa copie sont tous deux arrivés.
Qu'est-ce qui a été testé en conditions réelles ?
Plesk Obsidian 18.0.81 sur Ubuntu 24.04, sur un serveur doté d'une IP publique et hébergeant le DNS du domaine : installation, désinstallation et réinstallation, inscription, test avec vérification du dossier depuis un domaine sans DKIM, SPF ni DMARC, les trois boutons de correction, second test avec validation des trois contrôles, historique et surveillance des e-mails envoyés depuis le site web et depuis une application de messagerie. Les pages web ont été testées sur une installation Plesk locale. Pas encore testés : les autres distributions Linux et versions de Plesk, un serveur qui relaie les e-mails par l'intermédiaire d'un smarthost, et qmail à la place de Postfix. Plesk pour Windows n'est pas pris en charge. Écrivez-moi si vous l'utilisez dans l'une de ces configurations.
Installation, étape par étape
Ce guide suppose que vous disposez d'un accès root à un serveur Plesk. Chaque commande ci-dessous doit être copiée et collée telle quelle.
1. Prérequis
- Un accès SSH root au serveur.
- Plesk Obsidian 18.0.50 ou une version plus récente sous Linux, avec Postfix comme serveur de messagerie [la configuration par défaut de Plesk]. Testé en conditions réelles avec Plesk Obsidian 18.0.81 sous Ubuntu 24.04.
- Le port sortant 25 ouvert, afin que les e-mails du serveur puissent atteindre
t.email-spam-tester.com. De nombreux fournisseurs de VPS le bloquent par défaut. - Un accès HTTPS sortant à
email-spam-tester.com.
Vous pouvez vérifier les deux avant l'installation. La première commande doit afficher une ligne commençant par 220, et 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 par SSH en tant que root. Téléchargez l'extension et sa somme de contrôle :
cd /root
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip
curl -fsSLO https://email-spam-tester.com/plesk/latest.zip.sha256
Vérifiez que le téléchargement est intact. Vous devez voir latest.zip: OK. Si vous voyez FAILED, recommencez le téléchargement et ne poursuivez pas :
sha256sum -c latest.zip.sha256
Installez l'extension :
plesk bin extension --install /root/latest.zip
La dernière ligne doit être The extension was successfully installed.
3. Enregistrement du serveur
Dans Plesk, accédez à Tools & Settings › Mail › Email Spam Tester, puis cliquez sur Enregistrer ce serveur. Vous pouvez indiquer une adresse e-mail pour recevoir des notifications concernant le service, mais cela reste facultatif.
L'enregistrement envoie le nom d'hôte du serveur, les versions de Plesk et de l'extension, le nombre d'abonnements et cette adresse e-mail. La réponse est une clé qui reste sur ce serveur, chiffrée dans les paramètres de l'extension. Les clients ne la voient jamais.
Les clients trouvent Email Spam Tester dans Websites & Domains › un domaine › Mail. Tant que le serveur n'est pas enregistré, l'extension leur indique seulement de vous contacter.
4. Choix des fonctionnalités disponibles
Dans Service Plans › un plan › Permissions [ainsi que dans les permissions propres à chaque abonnement], l'extension ajoute quatre permissions, toutes activées par défaut :
- Email Spam Tester : l'extension elle-même ;
- corriger les paramètres DNS et de messagerie : les boutons DKIM, SPF et DMARC. Les boutons DNS nécessitent également la permission du plan permettant de gérer DNS, et le commutateur DKIM nécessite la permission permettant de gérer les paramètres de messagerie ;
- test de placement : l'envoi d'une copie vers des boîtes de test chez des fournisseurs de messagerie ;
- surveillance continue : l'activation de la surveillance pour un domaine.
Les limites par abonnement [tests, tests de placement, forfaits IA, domaines surveillés et e-mails surveillés par domaine et par jour] se trouvent sur la même page Tools & Settings › Mail › Email Spam Tester.
5. Surveillance continue [facultatif]
Aucune copie n'est effectuée tant que vous ne l'avez pas autorisée et qu'un client ne l'a pas activée pour son domaine. Sur la page de l'extension dans Tools & Settings, cliquez sur Autoriser la surveillance continue sur ce serveur. Cela ajoute :
- un gestionnaire de messagerie Plesk qui s'exécute après la signature DKIM des e-mails sortants, transmet chaque message sans le modifier et, pour les domaines où la surveillance est activée, remet une copie à
- un service d'écoute Postfix sur
127.0.0.1:10597, qui accepte uniquement les adresses de surveillance d'Email Spam Tester, afin que la copie parte avec la même IP et le même HELO que le message d'origine ; - la liste des domaines surveillés dans
/etc/email-spam-tester/monitor.json.
La même page comporte l'option Désactiver sur l'ensemble du serveur, qui supprime ces trois éléments et désactive la surveillance pour tous les domaines.
Pour vérifier son état depuis la ligne de commande :
/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor status
"state": "active" signifie que la surveillance est activée ; "off" signifie qu'elle n'a jamais été autorisée ou qu'elle a été supprimée ; "partial" signifie qu'un élément manque [Plesk réécrit parfois le fichier master.cf de Postfix lors d'une mise à jour]. Le bouton Réparer sur la même page le rétablit. Une tâche quotidienne effectue automatiquement la même opération.
6. Mise à niveau
Téléchargez le nouveau fichier latest.zip et sa somme de contrôle comme à l'étape 2, vérifiez-le, puis exécutez :
plesk bin extension --upgrade /root/latest.zip
L'enregistrement, les limites et la surveillance restent inchangés. Si la surveillance est activée, ses fichiers sont mis à jour vers la nouvelle version.
7. Désinstallation
plesk bin extension --uninstall email-spam-tester
Cette commande supprime la surveillance de Postfix et des gestionnaires de messagerie de Plesk, puis la désactive pour tous les domaines surveillés. Elle ne modifie jamais les enregistrements DNS, y compris ceux que les clients ont créés avec les boutons de l'extension.
Si la surveillance était activée, il est préférable de la supprimer d'abord, afin qu'un éventuel échec soit visible directement plutôt que seulement dans le journal de Plesk :
/usr/local/psa/admin/sbin/modules/email-spam-tester/est-monitor disable
La commande affiche l'état à la fin. "state": "off" signifie que le gestionnaire, le service d'écoute et la liste ont été supprimés.
8. Si quelque chose ne fonctionne pas
- « Le serveur de messagerie n'a pas accepté l'e-mail » lors d'un test : le Postfix local l'a refusé, et le texte après les deux-points correspond à sa propre réponse. Vérifiez que Postfix est en cours d'exécution avec
systemctl status postfix. - Un test reste en attente et rien n'arrive : après 30 secondes, la page du test affiche ce que le journal de messagerie du serveur indique à son sujet. Si une connexion au port 25 expire, votre fournisseur bloque le port sortant 25. Exécutez la première vérification de l'étape 1 pour le confirmer.
- Une correction affiche un enregistrement à copier au lieu d'un bouton : le DNS du domaine est géré par un autre serveur [un bureau d'enregistrement ou Cloudflare]. Ajoutez-y l'enregistrement.
- Juste après une correction DNS, un test affiche encore l'ancien résultat : les résolveurs DNS publics peuvent conserver en mémoire l'absence d'un enregistrement pendant une durée égale au TTL minimum SOA de la zone [trois heures dans le modèle de zone par défaut de Plesk]. Refaites le test plus tard.