- L’e-mail est à l’origine un système ouvert et, en 2026, on peut l’exploiter chez soi ou sur un VPS tout en gérant les problèmes de distribution et le spam, sans confier son courrier à quelques grandes entreprises
- Pour l’exploiter à domicile, il faut une IPv4 fixe non présente sur les listes de blocage, ne pas être derrière du CGNAT, avoir le droit de modifier l’enregistrement PTR, et pouvoir ouvrir les ports
25·143·465·587·993 ; si ces conditions ne sont pas réunies, un VPS est plus adapté
- Il faut configurer correctement SPF·DKIM·DMARC·MX·PTR et tester l’état de distribution avec mail-tester.com ; même en cas de brève coupure Internet, le serveur expéditeur retentera la livraison
- En combinant le plugin GPT de Rspamd avec un modèle local
Gemma 4 12B QAT, on peut générer une probabilité de spam et les raisons de la décision sans envoyer de courrier personnel à une API LLM externe
- docker-mailserver et Thunderbird·des clients webmail peuvent abaisser la barrière d’entrée, mais l’opérateur reste directement responsable des sauvegardes·restaurations·accès distant·mises à jour et doit tester au moins une fois la procédure de restauration
Choisir entre la maison et un VPS
- En général, un VPS est recommandé, mais si votre connexion Internet domestique remplit toutes les conditions suivantes, vous pouvez aussi exploiter un serveur mail chez vous
- Une adresse IPv4 fixe qui ne figure pas sur une liste de blocage
- Une ligne qui n’est pas derrière du CGNAT
- Le droit de modifier l’enregistrement PTR de l’IP, par exemple via le support du FAI
- Un environnement permettant d’ouvrir les ports courants d’un serveur mail :
25, 143, 465, 587, 993
- Même si le serveur tombe momentanément, le serveur mail côté expéditeur retentera la livraison, vous ne perdrez donc pas immédiatement les messages entrants
- Si les coupures Internet représentent moins de 40 % d’une journée, le système peut fonctionner normalement
Logiciel de serveur mail
- docker-mailserver est un bon point de départ, car il permet de déployer avec Docker une suite complète de serveur mail avec des réglages par défaut raisonnables
- D’autres options existent, comme Stalwart, Mailcow, ou une configuration manuelle de Postfix·Dovecot·Rspamd
- Le courrier existant est exploité depuis des années sur ISPConfig pour des raisons liées à l’héritage technique, mais pour une nouvelle installation, docker-mailserver serait un choix approprié
Configuration du domaine et du DNS
- Comme pour l’IP, il faut d’abord vérifier que le domaine ne figure pas sur une liste de blocage anti-spam
- Pour envoyer et recevoir correctement, les enregistrements DNS suivants sont nécessaires
- SPF : indique les serveurs autorisés à envoyer du courrier au nom du domaine ; une valeur courante peut être
v=spf1 mx a ~all
- DKIM : ajoute une signature cryptographique aux en-têtes des e-mails envoyés ; il faut enregistrer dans le domaine le nom et la valeur de clé publique indiqués par le serveur
- DMARC : étend SPF et DKIM pour empêcher l’usurpation de domaine ; si la valeur est incertaine, on peut utiliser un générateur DMARC
- MX : indique aux autres serveurs où livrer le courrier. La méthode courante consiste à faire pointer l’enregistrement A de
mail.yourdomain.com vers l’IP du serveur, puis à définir ce nom d’hôte comme valeur MX avec une priorité 10
- L’enregistrement PTR ne peut être configuré que par le FAI ou le fournisseur VPS, et l’IP du serveur doit se résoudre en inverse vers un vrai nom d’hôte de serveur mail comme
mail.yourdomain.com
- Certains serveurs recommandent d’ajouter des enregistrements pour la détection automatique de services, mais SPF·DKIM·DMARC·MX·PTR constituent la configuration de base
- Après la mise en place, il est recommandé de tester les enregistrements, le fonctionnement du serveur et l’état de distribution des e-mails sur mail-tester.com
Filtrage du spam avec un LLM local
- Le filtrage anti-spam open source traditionnel reposait sur des listes de blocage d’IP et de domaines, des services externes comme Spamhaus et des recherches par mots-clés ; son efficacité limitée était l’une des principales raisons d’abandonner l’auto-hébergement
- Ces deux dernières années, la classification par LLM local est apparue comme une option capable de résoudre le problème du spam dans les environnements auto-hébergés
- Rspamd peut, en plus des listes de blocage, des vérifications IP·DNS et de la détection de mots-clés, faire classifier les e-mails par un LLM via son plugin GPT
- Au lieu d’envoyer du courrier personnel à une API LLM externe, on exécute Gemma 4 12B QAT en local
- Il peut tourner sur GPU ou CPU et nécessite au minimum 7 Go de RAM ou de VRAM
- Il prend en charge plusieurs langues et peut être utilisé pour classer les e-mails
Exécuter le modèle local et le connecter à Rspamd
- Si vous configurez un LLM local pour la première fois, vous pouvez consulter le guide llama.cpp d’Unsloth pour Windows·Linux·macOS
- Sous Linux et macOS, installez
llama.cpp avec la commande suivante
curl -LsSf https://llama.app/install.sh | sh
- Sous Windows, utilisez la commande suivante
winget install llama.cpp
- Lancez le serveur de modèle comme suit ; l’interface de chat est accessible sur
localhost:8080
llama serve -hf unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL --reasoning off -fa on -c 16000 --temp 0.7
- Dans
/etc/rspamd/local.d/gpt.conf, définissez type = "openai" et le point de terminaison local /v1 pour connecter le modèle via une interface compatible OpenAI
- Le modèle est défini sur
unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL
- Le nombre maximal de tokens de sortie est
100, la température 0.1 et le délai d’expiration 30 secondes
- Sur un serveur LLM sans GPU, le délai d’expiration peut être augmenté
- La réponse est interprétée comme du JSON et exige une clé
probability, et non spam
- Le prompt demande d’analyser les en-têtes, l’objet et le corps du message, puis de retourner uniquement en JSON une probabilité de spam comprise entre
0.0~1.0 et une brève justification
- La fonction de contexte de conversation par destinataire stocke dans Redis les libellés des e-mails récents, les principaux expéditeurs et un résumé de 512 caractères, puis les inclut dans le prompt de classification dès qu’il y en a au moins 5
- La portée est
user, c’est-à-dire la boîte aux lettres de chaque destinataire
- La durée de conservation des résumés de messages est de
14 jours, et la durée de vie des clés Redis de 30 jours
- Le tout fonctionne localement, sans appel externe
- Pour les spams, il peut retourner une probabilité élevée en s’appuyant sur des éléments comme du marketing fondé sur la peur, du contenu commercial non sollicité ou des domaines internationalisés suspects
- Pour un e-mail de test technique légitime, il peut retourner une faible probabilité au motif qu’il ne contient ni lien suspect ni formulation promotionnelle
- L’interface web de Rspamd permet de consulter les graphiques et les données, et de coller un e-mail pour tester le résultat de classification attendu
Choix du client mail
- Sur desktop, Thunderbird est un client open source riche en fonctionnalités qui peut remplacer Outlook
- Il fournit les fonctions de base nécessaires et une recherche suffisamment performante
- Une application Android est également disponible
- Il a été utilisé pendant 3 ans sans problème
- Si vous avez besoin d’un webmail, les options suivantes sont disponibles
Maintenance et responsabilités d’exploitation
- Les solutions modernes de serveur mail comme docker-mailserver sont conçues en tenant compte des correctifs de sécurité et des mises à jour automatiques qui ne cassent pas les environnements de production
- L’auto-hébergement offre le contrôle des données, mais renvoie à l’opérateur la responsabilité des sauvegardes, de la restauration, de l’accès distant et des mises à jour
- Sans sauvegarde, vous pouvez perdre toutes vos données ; il faut donc prévoir un plan de sauvegarde suffisant et tester au moins une fois la procédure de restauration
- Si vous pouvez assumer les conditions requises et les responsabilités d’exploitation, vous pouvez faire fonctionner votre messagerie malgré de courtes interruptions du serveur, et les utilisateurs attachés à la souveraineté des données peuvent tenter l’auto-hébergement
1 commentaires
Commentaires sur Lobste.rs
J’utilise Fastmail et j’évite ainsi tous les tracas. C’était tout de même intéressant de lire quels tracas j’évite.
Pour une boîte de réception importante, il existe d’excellents services de messagerie hébergée comme Migadu, Simplymail ou Fastmail, donc je n’envisagerais pas de l’exploiter moi-même. Pour s’amuser ou pour des usages peu importants, pourquoi pas.
Comme pour illustrer le problème de la dépendance à Gmail, Gmail bloque actuellement les e-mails de réinitialisation de mot de passe de Lobsters comme spam.
Dans les journaux, on lit : « Gmail has detected that this message is likely 550-5.7.1 unsolicited mail. To reduce the amount of spam sent to Gmail, this 550-5.7.1 message has been blocked. » ; je me demande comment le signaler à Google.
J’ai cru que la passerelle de liste de diffusion était cassée côté lobste.rs et je me suis désabonné, mais de toute façon je ne la lisais pas souvent et je préfère maintenant le site web.
L’idée d’héberger son courrier chez soi est séduisante, mais le problème, c’est quand on déménage. Des e-mails importants peuvent arriver pendant le déménagement, donc un simple MX de secours ne suffit pas.
Ce serait sans doute faisable, mais un déménagement est déjà assez stressant comme ça, et je n’ai pas envie d’ajouter une procédure de migration de la messagerie à ma checklist. Que mon blog ou un maître DNS caché soient indisponibles pendant ce temps-là ne me dérange pas.
Il y a environ 15 ans, j’ai déplacé mon serveur mail vers une VM bon marché, et depuis il fonctionne de manière stable. Si l’on peut disposer, à un endroit où l’on est installé durablement, d’une IP fixe qui n’est pas sur des listes de blocage et d’une connexion de niveau entreprise, cela peut aller.
De plus, SMTP intègre les tentatives de renvoi dans le protocole lui-même : si un serveur cesse de réessayer avant 24 heures, il ne respecte pas les spécifications correspondantes. Contrairement aux cas où le serveur rejette explicitement le message, comme lorsqu’il n’y a pas de boîte aux lettres ou que le quota est dépassé, SMTP est plus robuste qu’on ne le pense.
La difficulté, quand on exploite soi-même sa messagerie, n’est pas le spam entrant, mais le fait que les grands fournisseurs de messagerie classent les e-mails envoyés comme spam même après avoir pris toutes les mesures nécessaires pour l’envoi.
Avec le volume d’envoi d’un particulier ou d’un foyer, on ne construit pas de réputation positive pour l’IP ; si les messages commencent à ne plus arriver dans les boîtes Gmail et assimilées, c’est pratiquement insoluble.
Cela dit, en passant par un relais comme Amazon SES, la configuration peut être simple et les problèmes de délivrabilité disparaître. Si l’on s’auto-héberge pour des raisons politiques ou de souveraineté des données, cette solution peut être difficile à accepter.
Le meilleur aspect d’un serveur mail auto-hébergé, c’est qu’il n’est pas nécessaire de filtrer le spam. Je reçois parfois des indésirables, mais je préfère avoir la certitude que n’importe qui peut m’envoyer un e-mail.
Vérifier le dossier spam ne suffit pas. Les grandes entreprises tech suppriment parfois silencieusement des e-mails sans vraie raison, et le taux de réception de Gmail est d’environ 90 %, si bien que même 10 % des e-mails envoyés par d’autres grands fournisseurs disparaissent. Avec ma messagerie auto-hébergée, je n’ai jamais eu d’échec de réception.
À l’inverse, pour envoyer des e-mails vers des comptes de grands services, il faut toujours un compte chez eux, mais comme adresse de contact je donne toujours mon adresse auto-hébergée. J’aimerais tester s’il est possible d’utiliser les grands fournisseurs uniquement pour l’envoi tout en pointant le MX vers mon propre serveur.
https://xmox.nl a été très facile à configurer.
J’exploite moi-même la liste de diffusion de mon site web. Il n’y a que quelques abonnés, mais les e-mails sont bien livrés.
Je n’ai pas l’intention d’auto-héberger aussi ma messagerie personnelle.
Il y a quelques années, j’ai installé https://modoboa.org/ sur un VPS Hetzner, mais après plusieurs échecs de mise à niveau, j’ai pratiquement abandonné. Je le maintiens encore simplement parce que la plupart des choses fonctionnent toujours, mais ce n’est pas une configuration durable à long terme, et je n’ai pas encore choisi la suite.
Certains codes de double authentification, comme ceux de Steam, arrivent trop tard dans la boîte de réception. Je n’ai pas trouvé la cause, donc dans ces cas-là j’utilise un compte Gmail que j’emploie très rarement.
Une certaine quantité de spam passe aussi, mais il n’existe pas de solution parfaite au spam entrant. Les LLM, conçus pour le traitement du langage naturel, pourraient être bien adaptés à cette tâche et je suis curieux de leurs performances réelles, même si leur consommation de ressources risque aussi de devenir absurdement élevée.