Files
varlog/_cache/articles/104a8694-4268-4e0a-99c7-e7ecfd47af1e.json
T
2026-05-15 10:37:48 +02:00

1 line
31 KiB
JSON

{"uuid":"104a8694-4268-4e0a-99c7-e7ecfd47af1e","slug":"auto-heberger-son-serveur-mail-en-2026","title":"Auto-héberger son serveur mail en 2026","author":"cedric@abonnel.fr","published":true,"published_at":"2026-05-12 08:35","created_at":"2026-05-12 08:38:14","updated_at":"2026-05-12 08:40:06","revisions":[{"n":1,"date":"2026-05-12 08:38:44","comment":"","title":"Auto-héberger son serveur mail en 2026"},{"n":2,"date":"2026-05-12 08:38:59","comment":"","title":"Auto-héberger son serveur mail en 2026"},{"n":3,"date":"2026-05-12 08:40:06","comment":"","title":"Auto-héberger son serveur mail en 2026"}],"cover":"cover.svg","files_meta":{"0f3d320c9347704b-35316.svg":{"author":"Cédrix","source_url":""},"cover.svg":{"author":"","source_url":""},"_thumb_b7a3540aaf062cdb-1682326.jpg":{"author":"","source_url":""}},"external_links":[{"url":"https://www.clubic.com/dossier-612034-proton-mail-infomaniak-la-souverainete-de-vos-emails-reste-une-illusion-face-aux-regles-dictees-par-google.html","name":"Proton Mail, Infomaniak : la souveraineté de vos emails reste une illusion face aux règles dictées par Google","added_at":"2026-05-12 08:40:03","meta":{"mime":"text/html","size":333873,"description":"Proton Mail, La Poste, Infomaniak, Mailo... les messageries \"souveraines\" se multiplient. Mais elles reposent toutes sur le même protocole conçu en 1982 aux États-Unis, sans authentification native et sans chiffrement. Les normes de sécurité ajoutées depuis ont été définies par Yahoo, Cisco, Microsoft et Google. Et Gmail filtre une part considérable du trafic email mondial, sans que l'Europe ne puisse dire quoi que ce soit.","og_image":"/file?uuid=104a8694-4268-4e0a-99c7-e7ecfd47af1e&name=_thumb_b7a3540aaf062cdb-1682326.jpg","site_name":"clubic.com","og_type":"article","language":"fr_FR","date":"2026-05-09T11:10:00+02:00","canonical":"https://www.clubic.com/dossier-612034-proton-mail-infomaniak-la-souverainete-de-vos-emails-reste-une-illusion-face-aux-regles-dictees-par-google.html"}}],"seo_title":"","seo_description":"","og_image":"","category":"informatique","content":"# Auto-héberger son serveur mail en 2026\n\n## Survivre aux règles de Gmail, Outlook et consorts\n\n> **Contexte** — Cet article de Clubic ([lien](https://www.clubic.com/dossier-612034-proton-mail-infomaniak-la-souverainete-de-vos-emails-reste-une-illusion-face-aux-regles-dictees-par-google.html)) rappelle une vérité technique : SMTP date de 1982, n'a aucune sécurité native, et toutes les \"rustines\" (SPF, DKIM, DMARC, MTA-STS, DANE) ont été conçues par Yahoo, Cisco, Microsoft, Google. Depuis février 2024 (Google) et mai 2025 (Microsoft), tout expéditeur dépassant 5000 mails/jour vers Gmail/Outlook doit configurer SPF + DKIM + DMARC, maintenir un taux de spam < 0,1 %, et fournir un lien de désinscription en un clic.\n>\n> Mais même en dessous de 5000/jour, ces règles s'appliquent en pratique : sans elles, ton mail finit en spam ou est rejeté. Ce dossier décrit comment monter son propre serveur mail tout en passant à travers ces filtres.\n\n---\n\n## Sommaire\n\n1. [Avant de commencer : est-ce vraiment une bonne idée ?](#1-avant-de-commencer--est-ce-vraiment-une-bonne-idée-)\n2. [Prérequis techniques](#2-prérequis-techniques)\n3. [Architecture cible](#3-architecture-cible)\n4. [Choix du fournisseur et de l'IP](#4-choix-du-fournisseur-et-de-lip)\n5. [Configuration DNS complète](#5-configuration-dns-complète)\n6. [Installation du stack mail](#6-installation-du-stack-mail)\n7. [SPF, DKIM, DMARC : les rustines obligatoires](#7-spf-dkim-dmarc--les-rustines-obligatoires)\n8. [MTA-STS, TLS-RPT, DANE : aller plus loin](#8-mta-sts-tls-rpt-dane--aller-plus-loin)\n9. [PTR (reverse DNS) et HELO](#9-ptr-reverse-dns-et-helo)\n10. [Warmup d'IP : la phase la plus délicate](#10-warmup-dip--la-phase-la-plus-délicate)\n11. [Postmaster Tools, SNDS, FBL](#11-postmaster-tools-snds-fbl)\n12. [Liste de désinscription en un clic (RFC 8058)](#12-liste-de-désinscription-en-un-clic-rfc-8058)\n13. [Anti-spam entrant et hygiène](#13-anti-spam-entrant-et-hygiène)\n14. [Monitoring, logs, alertes](#14-monitoring-logs-alertes)\n15. [Que faire quand Gmail rejette quand même ?](#15-que-faire-quand-gmail-rejette-quand-même-)\n16. [Checklist finale avant mise en prod](#16-checklist-finale-avant-mise-en-prod)\n17. [Annexes : commandes utiles](#17-annexes--commandes-utiles)\n\n---\n\n## 1. Avant de commencer : est-ce vraiment une bonne idée ?\n\nL'auto-hébergement mail est techniquement possible, mais c'est probablement le service le plus pénible à maintenir en 2026. Avant de te lancer, lis ça :\n\n**Ce qui marche bien en auto-hébergé :**\n- Recevoir du mail (presque tout le monde te livre).\n- Envoyer vers d'autres serveurs auto-hébergés ou pros bien configurés.\n- Garder le contrôle sur tes données, tes alias, tes domaines.\n\n**Ce qui est dur :**\n- Envoyer vers Gmail / Outlook / Yahoo / iCloud sans atterrir en spam.\n- Sortir d'une blacklist une fois dedans.\n- Maintenir un score de réputation IP correct sur la durée.\n- Survivre à un changement unilatéral des règles côté gros acteurs (cf. février 2024 et mai 2025).\n\n**Stratégie réaliste recommandée :**\n- Réception entrante : auto-hébergée à 100 %. Aucun risque, full contrôle.\n- Envoi sortant : deux options, selon ton volume et ton tolérance au risque.\n - **Option A — Pure auto-hébergée** : tu envoies directement depuis ton serveur. Faisable, mais demande un warmup, une IP propre, et un suivi continu.\n - **Option B — Smart host sortant** : tu envoies via un relais réputé (un autre de tes serveurs avec une IP qui a déjà sa réputation, ou un service type Mailjet/Sendgrid/SMTP2GO en bas volume gratuit). Tes mails sortent depuis l'IP du relais, qui a déjà sa réputation faite. C'est un compromis : tu perds une partie de la souveraineté technique, mais tu gagnes énormément en délivrabilité.\n\nLe reste du dossier suit l'option A — tout en t'expliquant comment basculer en B si nécessaire.\n\n---\n\n## 2. Prérequis techniques\n\n| Élément | Détail |\n|---|---|\n| Domaine | À toi, registrar peu importe, mais avec **DNSSEC activable** (cf. §8 pour DANE). |\n| Serveur | VPS ou dédié, **2 vCPU / 4 Go RAM minimum**, Debian 12+ ou Ubuntu 24.04 LTS. |\n| IP fixe v4 | Indispensable. **IP \"résidentielle\" ou IP de datacenter récemment recyclée = exclues**. |\n| IP fixe v6 | Recommandée, mais désactivable si l'IPv6 du fournisseur est blacklistée. |\n| PTR / reverse DNS | **Modifiable par toi**. Si l'hébergeur ne te le permet pas, change d'hébergeur. |\n| Ports | 25, 465, 587, 993, 4190 ouverts sortants ET entrants. **Le port 25 sortant est bloqué chez beaucoup d'hébergeurs grand public** (OVH résidentiel, Free, etc.) : vérifie avant. |\n| TLS | Certificat valide (Let's Encrypt suffit). |\n\n**Compétences attendues** : Linux en ligne de commande, DNS (champs A/AAAA/MX/TXT/SRV/CAA/TLSA), notion de TLS, lecture de logs `journalctl` et `/var/log/mail.log`.\n\n---\n\n## 3. Architecture cible\n\nUn stack standard, éprouvé, en logiciels libres :\n\n```\n ┌─────────────────────────────────────┐\n │ Internet (mails entrants/sortants) │\n └─────────────────────────────────────┘\n │\n ▼ port 25\n ┌────────────────┐\n │ Postfix │ ← MTA (envoi/réception SMTP)\n │ (SMTP / 25/587)│\n └────────────────┘\n │ │ │\n ▼ ▼ ▼\n ┌─────────┐ ┌─────────┐ ┌──────────┐\n │ Rspamd │ │OpenDKIM │ │ Dovecot │ ← IMAP/POP + LMTP\n │(spam, │ │ (signe │ │ (livrai- │\n │ DKIM │ │ DKIM) │ │ son aux │\n │ verif, │ └─────────┘ │ boîtes) │\n │ DMARC) │ └──────────┘\n └─────────┘ │\n ▼\n Maildir / utilisateurs\n```\n\n**Composants** :\n\n- **Postfix** : MTA. Reçoit, route, envoie le SMTP.\n- **Dovecot** : serveur IMAP/POP3, livraison locale (LMTP), authentification SASL pour Postfix, gestion Sieve (filtres).\n- **Rspamd** : antispam moderne, fait aussi la **vérification SPF/DKIM/DMARC entrante**, le greylisting, et — option recommandée — la **signature DKIM sortante** (en remplacement d'OpenDKIM).\n- **Let's Encrypt (certbot)** : TLS.\n- **(Optionnel) Roundcube ou SnappyMail** : webmail.\n\n**Alternative tout-en-un** : [Mailcow](https://mailcow.email/) ou [Mailu](https://mailu.io/), basés sur Docker, qui empaquètent tout ça avec une interface admin. Si tu préfères ne pas tout configurer à la main, c'est légitime — la majorité des règles DNS et de délivrabilité de ce dossier restent identiques.\n\n---\n\n## 4. Choix du fournisseur et de l'IP\n\nLe choix de l'hébergeur conditionne la moitié de ta délivrabilité. Avant de prendre un VPS :\n\n1. **Le port 25 sortant est-il ouvert ?** Beaucoup d'hébergeurs le bloquent par défaut pour limiter le spam (Hetzner l'ouvre sur demande, OVH l'ouvre selon le produit, Scaleway l'ouvre selon le compte). Pose la question au support **avant** de payer.\n2. **Le PTR est-il configurable ?** Si non, change.\n3. **L'IP a-t-elle été utilisée par un spammeur ?** Avant d'acheter le VPS, demande l'IP qu'on te donnera. Vérifie sur :\n - [mxtoolbox.com/blacklists.aspx](https://mxtoolbox.com/blacklists.aspx)\n - [multirbl.valli.org](https://multirbl.valli.org/)\n - [talosintelligence.com](https://www.talosintelligence.com/) (Cisco)\n - [senderscore.org](https://senderscore.org/)\n \n Si l'IP est listée sur Spamhaus, Barracuda, SORBS, SpamCop, **demande à l'hébergeur de te l'échanger** ou prends un autre VPS. Une fois listée, tu vas y passer des semaines.\n4. **Réputation du subnet (`/24`)**. Même si ton IP est propre, si le `/24` est pourri (beaucoup de spammeurs voisins), Gmail va te traiter avec méfiance. Vérifie sur [senderscore.org](https://senderscore.org/) en saisissant ton IP — le score du subnet apparaît.\n\n**Hébergeurs réputés corrects pour le mail** : Hetzner, OVH (gamme dédiée, pas SoYouStart), Scaleway, Infomaniak (en VPS), Netcup. À éviter pour de l'envoi : DigitalOcean (subnets souvent grillés), Linode/Akamai (idem), AWS EC2 (le port 25 est limité par défaut, et la rate-limit est costaude).\n\n---\n\n## 5. Configuration DNS complète\n\nPour un domaine `exemple.fr` avec un serveur mail sur `mail.exemple.fr` à l'IP `203.0.113.10` (et `2001:db8::10` en v6) :\n\n```dns\n;; Enregistrement du serveur mail lui-même\nmail.exemple.fr. IN A 203.0.113.10\nmail.exemple.fr. IN AAAA 2001:db8::10\n\n;; MX : qui reçoit les mails du domaine\nexemple.fr. IN MX 10 mail.exemple.fr.\n\n;; SPF : qui a le droit d'envoyer pour ce domaine\nexemple.fr. IN TXT \"v=spf1 mx -all\"\n\n;; DKIM (clé publique, le sélecteur ici est \"mail\")\nmail._domainkey.exemple.fr. IN TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkqhki...\"\n\n;; DMARC\n_dmarc.exemple.fr. IN TXT \"v=DMARC1; p=quarantine; rua=mailto:dmarc@exemple.fr; ruf=mailto:dmarc@exemple.fr; fo=1; adkim=s; aspf=s; pct=100\"\n\n;; MTA-STS (cf. §8)\n_mta-sts.exemple.fr. IN TXT \"v=STSv1; id=20260509T000000;\"\nmta-sts.exemple.fr. IN A 203.0.113.10\n\n;; TLS-RPT (rapports d'erreurs TLS)\n_smtp._tls.exemple.fr. IN TXT \"v=TLSRPTv1; rua=mailto:tls-reports@exemple.fr\"\n\n;; CAA : restreindre qui peut émettre des certifs pour ton domaine\nexemple.fr. IN CAA 0 issue \"letsencrypt.org\"\n\n;; Autodiscover / autoconfig (pour les clients mail)\nautoconfig.exemple.fr. IN CNAME mail.exemple.fr.\nautodiscover.exemple.fr. IN CNAME mail.exemple.fr.\n```\n\nDétails dans les sections dédiées plus bas.\n\n**À ne pas oublier** : l'enregistrement PTR (reverse DNS) se configure **chez ton hébergeur**, pas dans ta zone DNS. Il doit pointer `203.0.113.10 → mail.exemple.fr`. C'est traité au §9.\n\n---\n\n## 6. Installation du stack mail\n\nSur Debian 12. Ce qui suit est volontairement condensé — pour une configuration ligne par ligne, suis [le tutoriel de référence de Workaround.org](https://workaround.org/ispmail/) qui est l'étalon depuis 20 ans.\n\n```bash\n# Mise à jour\napt update && apt upgrade -y\n\n# Stack de base\napt install -y postfix postfix-mysql dovecot-core dovecot-imapd \\\n dovecot-lmtpd dovecot-managesieved dovecot-sieve dovecot-mysql \\\n rspamd redis-server mariadb-server certbot\n\n# Certificat TLS\ncertbot certonly --standalone -d mail.exemple.fr \\\n -d mta-sts.exemple.fr \\\n -d autoconfig.exemple.fr -d autodiscover.exemple.fr\n```\n\n### Postfix : configuration `main.cf` minimale-mais-saine\n\n```cfg\n# /etc/postfix/main.cf\nmyhostname = mail.exemple.fr\nmydomain = exemple.fr\nmyorigin = $mydomain\nmydestination = # Vide : on utilise virtual_mailbox_domains\ninet_interfaces = all\ninet_protocols = all # IPv4 + IPv6\n\n# TLS — chiffrement obligatoire\nsmtpd_tls_cert_file = /etc/letsencrypt/live/mail.exemple.fr/fullchain.pem\nsmtpd_tls_key_file = /etc/letsencrypt/live/mail.exemple.fr/privkey.pem\nsmtpd_tls_security_level = may\nsmtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\nsmtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\nsmtp_tls_security_level = may\nsmtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1\nsmtp_dns_support_level = dnssec # Indispensable pour DANE\nsmtp_tls_security_level = dane # ou \"may\" si DANE pas encore prêt\nsmtp_host_lookup = dns\n\n# Restrictions anti-relais ouvert\nsmtpd_relay_restrictions =\n permit_mynetworks\n permit_sasl_authenticated\n reject_unauth_destination\n\nsmtpd_recipient_restrictions =\n permit_mynetworks\n permit_sasl_authenticated\n reject_unauth_destination\n reject_unknown_recipient_domain\n reject_invalid_helo_hostname\n reject_non_fqdn_helo_hostname\n\n# Limites raisonnables\nmessage_size_limit = 52428800 # 50 Mo\nmailbox_size_limit = 0\nrecipient_delimiter = +\n\n# Intégration Rspamd\nsmtpd_milters = inet:localhost:11332\nnon_smtpd_milters = inet:localhost:11332\nmilter_protocol = 6\nmilter_default_action = accept\nmilter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}\n\n# Livraison via Dovecot LMTP\nvirtual_transport = lmtp:unix:private/dovecot-lmtp\n```\n\n### Dovecot, Rspamd\n\nCes composants demandent leurs propres fichiers de configuration. Renvoi explicite vers les tutos qui font autorité :\n\n- **Workaround.org / ISPmail** : [https://workaround.org/ispmail/](https://workaround.org/ispmail/) — référence francophone et anglophone, mise à jour à chaque version Debian.\n- **Rspamd quickstart** : [https://www.rspamd.com/doc/tutorials/quickstart.html](https://www.rspamd.com/doc/tutorials/quickstart.html)\n- **Dovecot wiki** : [https://doc.dovecot.org/](https://doc.dovecot.org/)\n\nSi tu veux gagner du temps, **Mailcow** (`docker compose`) est aujourd'hui la solution clé-en-main la plus fiable.\n\n---\n\n## 7. SPF, DKIM, DMARC : les rustines obligatoires\n\nSans ces trois enregistrements correctement configurés, **Gmail et Outlook rejetteront ou marqueront en spam** la majorité de tes messages — peu importe ton volume.\n\n### SPF (Sender Policy Framework)\n\nDéclare qui a le droit d'envoyer du mail pour ton domaine.\n\n```dns\nexemple.fr. IN TXT \"v=spf1 mx -all\"\n```\n\n- `mx` : autorise les serveurs listés dans le MX du domaine.\n- `-all` : **rejet strict** de tout le reste. Indispensable pour la réputation. Ne jamais utiliser `~all` (softfail) en prod : Gmail aujourd'hui considère `~all` comme un signal faible.\n\nSi tu envoies aussi via un relais externe (smart host) : ajoute son `include`, ex. `v=spf1 mx include:_spf.mailjet.com -all`.\n\n**Limite** : un enregistrement SPF doit tenir en **10 lookups DNS maximum**. Au-delà, il est invalide. Vérifie avec [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html).\n\n### DKIM (DomainKeys Identified Mail)\n\nSigne chaque mail sortant avec une clé privée. Le destinataire vérifie la signature via la clé publique publiée en DNS.\n\n**Génération de la clé** (Rspamd, sélecteur `mail`, clé 2048 bits) :\n\n```bash\nmkdir -p /var/lib/rspamd/dkim\nrspamadm dkim_keygen -s mail -d exemple.fr -k /var/lib/rspamd/dkim/exemple.fr.mail.key \\\n -b 2048 > /var/lib/rspamd/dkim/exemple.fr.mail.txt\nchown _rspamd:_rspamd /var/lib/rspamd/dkim/*\n```\n\nLe fichier `.txt` contient l'enregistrement DNS à publier :\n\n```dns\nmail._domainkey.exemple.fr. IN TXT ( \"v=DKIM1; k=rsa; \"\n \"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\" )\n```\n\nConfiguration Rspamd (`/etc/rspamd/local.d/dkim_signing.conf`) :\n\n```conf\nallow_username_mismatch = true;\ndomain {\n exemple.fr {\n path = \"/var/lib/rspamd/dkim/exemple.fr.mail.key\";\n selector = \"mail\";\n }\n}\n```\n\nRecharge : `systemctl restart rspamd`.\n\n**Vérification** : envoie un mail à [check-auth@verifier.port25.com](mailto:check-auth@verifier.port25.com), tu reçois un rapport complet SPF/DKIM/DMARC en retour. Ou utilise [https://www.mail-tester.com/](https://www.mail-tester.com/) (note sur 10).\n\n### DMARC (Domain-based Message Authentication, Reporting and Conformance)\n\nDit aux serveurs distants quoi faire en cas d'échec SPF/DKIM, et **te renvoie des rapports** sur ce qui passe et ce qui rate.\n\n```dns\n_dmarc.exemple.fr. IN TXT \"v=DMARC1; p=quarantine; rua=mailto:dmarc@exemple.fr; ruf=mailto:dmarc@exemple.fr; fo=1; adkim=s; aspf=s; pct=100\"\n```\n\n- `p=none` : surveillance seule, **à utiliser pendant 2-4 semaines en démarrage** pour collecter les rapports sans pénaliser.\n- `p=quarantine` : mise en spam des mails non authentifiés. Cible normale.\n- `p=reject` : rejet pur. À atteindre en cible finale, **après** avoir vérifié 4 semaines de rapports propres.\n- `rua` : adresse pour les rapports agrégés (quotidiens).\n- `ruf` : rapports forensiques (par message). Optionnel.\n- `adkim=s aspf=s` : alignement strict — le domaine de signature DKIM et le domaine SPF doivent **exactement** correspondre au domaine `From:`.\n\n**Lecture des rapports DMARC** : ils arrivent en XML, illisibles. Utilise un parseur :\n\n- [Postmark DMARC Monitoring](https://dmarc.postmarkapp.com/) (gratuit, agrège les rapports dans une UI).\n- [parsedmarc](https://github.com/domainaware/parsedmarc) (auto-hébergeable, envoie dans Elasticsearch/Splunk/Grafana).\n\n---\n\n## 8. MTA-STS, TLS-RPT, DANE : aller plus loin\n\nCes standards sécurisent le **transport** entre serveurs (chiffrement TLS forcé). Gmail les regarde, Microsoft aussi. Pas obligatoires, mais ils boostent ta réputation.\n\n### MTA-STS\n\nForce les serveurs distants à utiliser TLS pour t'envoyer des mails. Trois éléments :\n\n**1. Enregistrement DNS TXT** :\n```dns\n_mta-sts.exemple.fr. IN TXT \"v=STSv1; id=20260509T000000;\"\n```\n\n**2. Sous-domaine `mta-sts.exemple.fr`** servant un fichier en HTTPS à `https://mta-sts.exemple.fr/.well-known/mta-sts.txt` :\n```\nversion: STSv1\nmode: enforce\nmx: mail.exemple.fr\nmax_age: 604800\n```\n\n`mode: enforce` est la cible. En démarrage, mets `mode: testing` pendant 1-2 semaines.\n\n**3. Certificat TLS valide** sur ce sous-domaine (déjà fait via certbot au §6).\n\n### TLS-RPT\n\nDemande aux serveurs distants de t'envoyer des rapports en cas d'échec TLS.\n\n```dns\n_smtp._tls.exemple.fr. IN TXT \"v=TLSRPTv1; rua=mailto:tls-reports@exemple.fr\"\n```\n\n### DANE (DNS-based Authentication of Named Entities)\n\nEncore plus solide que MTA-STS, mais nécessite **DNSSEC** activé sur ton domaine. Si ton registrar ne supporte pas DNSSEC, oublie DANE.\n\nDANE publie un hash du certificat TLS dans un enregistrement TLSA :\n\n```bash\n# Générer l'enregistrement TLSA pour le port 25\nposttls-finger -t30 -T180 -P /etc/ssl/certs/ -lsecure mail.exemple.fr\n```\n\nOu plus simplement avec [https://www.huque.com/bin/gen_tlsa](https://www.huque.com/bin/gen_tlsa) :\n\n```dns\n_25._tcp.mail.exemple.fr. IN TLSA 3 1 1 ABC123...\n```\n\n**Vérification globale** de tout ton setup TLS+DANE : [https://internet.nl/mail/](https://internet.nl/mail/) (excellent, recommandé).\n\n---\n\n## 9. PTR (reverse DNS) et HELO\n\n**Le PTR est probablement la cause la plus fréquente de rejet par Gmail/Outlook chez les nouveaux auto-hébergés.**\n\nRègle absolue : **`PTR(IP) == HELO == nom A/AAAA`**, et tout doit être un FQDN cohérent.\n\nConfigure le PTR dans le panneau de ton hébergeur (chez OVH : \"IP\" → \"Reverse DNS\") :\n```\n203.0.113.10 → mail.exemple.fr\n2001:db8::10 → mail.exemple.fr\n```\n\nVérifie :\n```bash\ndig -x 203.0.113.10 +short\n# doit retourner : mail.exemple.fr.\n\ndig mail.exemple.fr A +short\n# doit retourner : 203.0.113.10\n```\n\nDans Postfix, `myhostname = mail.exemple.fr` et c'est ce qui est annoncé en HELO. Cohérence garantie.\n\n---\n\n## 10. Warmup d'IP : la phase la plus délicate\n\n**Une IP neuve = pas de réputation = défiance maximale des gros acteurs.** Tu ne peux pas envoyer 1000 mails le jour 1 sans te griller.\n\n### Plan de warmup sur 4 à 6 semaines\n\n| Semaine | Volume max/jour vers Gmail+Outlook | Volume max/jour total | Contenu |\n|---|---|---|---|\n| 1 | 20-50 | 100 | Mails à toi-même, comptes test sur Gmail/Outlook/Yahoo. Réponds-y, marque \"non spam\" si en spam. |\n| 2 | 100 | 300 | Cercle proche qui sait répondre / interagir. |\n| 3 | 300 | 1000 | Élargissement progressif. |\n| 4 | 800 | 3000 | Ouvre aux usages normaux. |\n| 5+ | 2000+ | volume cible | Stable. |\n\n**Règles d'or pendant le warmup :**\n- **Pas de mailing list, pas de notifs automatiques en masse.** Privilégie des mails 1-à-1 conversationnels.\n- **Demande aux destinataires de répondre** — un mail avec réponse a 100x le poids d'un mail ouvert silencieusement.\n- **Aucun lien raccourci**, aucun pixel de tracking, aucune image lourde.\n- **Stop net si ton score Senderscore baisse** ou si Gmail Postmaster Tools (cf. §11) montre du rouge.\n\n### Si tu as un volume immédiat à envoyer\n\nBascule en **option B** (smart host) le temps du warmup, puis rapatrie progressivement en interne en répliquant les volumes ci-dessus.\n\n---\n\n## 11. Postmaster Tools, SNDS, FBL\n\nLes gros acteurs te donnent des dashboards dédiés. **Inscris-toi à tous, dès la création du domaine.**\n\n| Service | Acteur | Usage |\n|---|---|---|\n| [Google Postmaster Tools](https://postmaster.google.com/) | Gmail | Réputation IP+domaine, taux de spam, authentification, encryption. **Indispensable.** |\n| [Microsoft SNDS](https://sendersupport.olc.protection.outlook.com/snds/) | Outlook/Hotmail | Smart Network Data Services, qualité de l'IP. |\n| [Microsoft JMRP](https://sendersupport.olc.protection.outlook.com/pm/) | Outlook | Junk Mail Reporting Program, FBL Microsoft. |\n| [Yahoo CFL](https://senders.yahooinc.com/complaint-feedback-loop/) | Yahoo | Complaint Feedback Loop. |\n| [Validity Sender Score](https://senderscore.org/) | Indépendant | Score sur 100, à surveiller. |\n\nConfigure les feedback loops (FBL) : quand un destinataire clique \"spam\", tu reçois une notification. Ça te permet de désinscrire l'utilisateur **avant qu'il ne dégrade ta réputation**.\n\n---\n\n## 12. Liste de désinscription en un clic (RFC 8058)\n\n**Exigence Google/Microsoft pour les expéditeurs en volume**, mais à mettre en place dès le début même en bas volume.\n\nAjoute deux en-têtes à tous les mails non-strictement-personnels :\n\n```\nList-Unsubscribe: <https://exemple.fr/unsub?token=abc123>, <mailto:unsub@exemple.fr?subject=unsub-abc123>\nList-Unsubscribe-Post: List-Unsubscribe=One-Click\n```\n\nL'URL HTTPS doit accepter une requête **POST** (pas seulement GET) avec `List-Unsubscribe=One-Click` dans le corps, et désinscrire **immédiatement et silencieusement** sans demander de confirmation.\n\n---\n\n## 13. Anti-spam entrant et hygiène\n\nUn serveur mail mal configuré côté entrée devient vite un relais de spam ou une cible. Configuration Rspamd minimale :\n\n```conf\n# /etc/rspamd/local.d/actions.conf\nreject = 15;\nadd_header = 6;\ngreylist = 4;\n```\n\n```conf\n# /etc/rspamd/local.d/greylist.conf\nexpire = 1d;\n```\n\nActive aussi :\n- **Vérification SPF/DKIM/DMARC entrante** (par défaut activée dans Rspamd).\n- **RBL** (Realtime Blackhole Lists) : Spamhaus ZEN, Barracuda. Attention à ne pas multiplier — 2 ou 3 RBL fiables suffisent.\n- **Greylisting** : refuse temporairement les premiers contacts, ce qui élimine 80% du spam basique. Ne pas activer sur un domaine à fort volume transactionnel (gêne les notifs).\n- **Bayes** : laisse Rspamd apprendre via le dossier `Junk` de Dovecot (signal `IsSpam` / `IsHam`).\n\nMises à jour : `unattended-upgrades` activé, redémarrage planifié, lecture des annonces sécu Postfix/Dovecot.\n\n---\n\n## 14. Monitoring, logs, alertes\n\nSans monitoring, tu découvres les problèmes par les utilisateurs. À mettre en place :\n\n- **Lecture des logs** : `journalctl -u postfix -f`, `tail -f /var/log/mail.log`, web UI de Rspamd sur `localhost:11334`.\n- **Métriques** : exporter Postfix/Dovecot vers Prometheus + Grafana (`postfix_exporter`, `dovecot_exporter`).\n- **Alertes** sur :\n - File d'attente Postfix > 50 messages (`mailq | tail -1`).\n - Score Senderscore qui chute.\n - Apparition sur une RBL : surveillance automatisée par [https://multirbl.valli.org/](https://multirbl.valli.org/) ou via un script qui interroge plusieurs DNSBL en cron.\n - Échec TLS-RPT (rapport entrant signalant une connexion non chiffrée).\n- **Rapports DMARC** parsés régulièrement (cf. §7).\n\n---\n\n## 15. Que faire quand Gmail rejette quand même ?\n\nÇa arrive. Diagnostic dans l'ordre :\n\n1. **Lis le code de rejet SMTP** dans `/var/log/mail.log`. Gmail renvoie des codes très explicites :\n - `550-5.7.1 [203.0.113.10 19] Our system has detected that this message is likely unsolicited mail.` → contenu jugé spammy. Revois le contenu, ajoute du texte conversationnel, retire les liens douteux.\n - `421-4.7.0 [203.0.113.10 15] Our system has detected an unusual rate of unsolicited mail.` → tu as dépassé un seuil. **Ralentis immédiatement**, attends 24-48h, reprends doucement.\n - `550-5.7.26 ... DMARC ...` → ton DMARC ne passe pas. Revérifie SPF/DKIM/alignement.\n - `550-5.7.1 ... blocked using Spamhaus.` → tu es sur une RBL. Va sur [spamhaus.org/lookup/](https://www.spamhaus.org/lookup/) pour vérifier et demander la sortie.\n2. **Va dans Postmaster Tools** (§11). Si \"IP reputation\" est rouge ou orange, regarde le contenu et le timing de tes envois récents.\n3. **Test mail-tester** : envoie à une adresse fournie par [mail-tester.com](https://www.mail-tester.com/), obtiens une note sur 10. Vise 10/10. Toute case manquante doit être corrigée.\n4. **Sortie de blacklist** : la plupart des RBL (Spamhaus, Barracuda) ont un formulaire de retrait. Spamhaus retire en quelques heures si tu corriges la cause. SORBS est plus lent. UCEPROTECT exige souvent de payer — ignore-la, peu de serveurs sérieux la consultent.\n5. **Si rien ne marche**, change d'IP. C'est parfois la seule issue. Demande à ton hébergeur une IP fraîche, refais un warmup.\n\n---\n\n## 16. Checklist finale avant mise en prod\n\nAvant d'envoyer le premier vrai mail :\n\n- [ ] Domaine avec DNSSEC activé.\n- [ ] IP testée sur 5+ blacklists, propre.\n- [ ] Port 25 sortant ouvert et testé (`telnet gmail-smtp-in.l.google.com 25`).\n- [ ] PTR configuré et cohérent avec le HELO.\n- [ ] MX, A, AAAA, SPF, DKIM, DMARC publiés et validés via [mxtoolbox.com](https://mxtoolbox.com/).\n- [ ] MTA-STS publié (mode `testing` au démarrage).\n- [ ] TLS-RPT publié.\n- [ ] DANE/TLSA publié (si DNSSEC OK).\n- [ ] CAA publié.\n- [ ] Test envoyé à `check-auth@verifier.port25.com` : tout en `pass`.\n- [ ] Test [mail-tester.com](https://www.mail-tester.com/) : 10/10.\n- [ ] Test [internet.nl/mail/](https://internet.nl/mail/) : 100%.\n- [ ] Inscription Postmaster Tools, SNDS, JMRP, Yahoo CFL.\n- [ ] DMARC `p=none` au démarrage, parser de rapports en place.\n- [ ] List-Unsubscribe + List-Unsubscribe-Post implémentés.\n- [ ] Plan de warmup affiché et respecté.\n- [ ] Monitoring file d'attente + RBL en place.\n- [ ] Backup chiffré des Maildir.\n\nAu bout de 4 semaines de rapports DMARC propres : passage à `p=quarantine`. Au bout de 8-12 semaines : `p=reject`.\n\n---\n\n## 17. Annexes : commandes utiles\n\n```bash\n# Voir la file d'attente\nmailq\npostqueue -p\n\n# Forcer la tentative de livraison\npostqueue -f\n\n# Vider la file (à utiliser avec précaution)\npostsuper -d ALL\n\n# Tester la délivrabilité d'un domaine cible (DANE / TLS)\nposttls-finger -t30 -T180 -P /etc/ssl/certs/ -lsecure gmail-smtp-in.l.google.com\n\n# Vérifier ses propres enregistrements\ndig exemple.fr TXT +short\ndig _dmarc.exemple.fr TXT +short\ndig mail._domainkey.exemple.fr TXT +short\ndig mail.exemple.fr MX +short\ndig -x 203.0.113.10 +short\n\n# Tester l'envoi en SMTP authentifié\nswaks --to test@gmail.com --from moi@exemple.fr \\\n --server mail.exemple.fr --auth --auth-user moi@exemple.fr \\\n --tls --port 587\n\n# Voir en temps réel ce qu'il se passe\njournalctl -u postfix -u dovecot -u rspamd -f\n```\n\n### Outils web à mettre en favoris\n\n- [https://www.mail-tester.com/](https://www.mail-tester.com/) — score sur 10\n- [https://internet.nl/mail/](https://internet.nl/mail/) — audit complet\n- [https://mxtoolbox.com/SuperTool.aspx](https://mxtoolbox.com/SuperTool.aspx) — DNS, blacklists\n- [https://dmarcian.com/dmarc-inspector/](https://dmarcian.com/dmarc-inspector/) — vérif DMARC\n- [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html) — vérif SPF\n- [https://postmaster.google.com/](https://postmaster.google.com/) — Google Postmaster\n- [https://senderscore.org/](https://senderscore.org/) — réputation IP\n\n### Documentation de référence\n\n- **ISPmail / Workaround.org** — [https://workaround.org/ispmail/](https://workaround.org/ispmail/) — le tutoriel le plus complet et tenu à jour, par version Debian.\n- **Mailcow docs** — [https://docs.mailcow.email/](https://docs.mailcow.email/) — pour la version conteneurisée clé-en-main.\n- **Postfix officiel** — [https://www.postfix.org/documentation.html](https://www.postfix.org/documentation.html)\n- **Rspamd docs** — [https://www.rspamd.com/doc/](https://www.rspamd.com/doc/)\n- **RFCs essentielles** : 5321 (SMTP moderne), 7208 (SPF), 6376 (DKIM), 7489 (DMARC), 8461 (MTA-STS), 8460 (TLS-RPT), 7672 (DANE-SMTP), 8058 (One-Click Unsubscribe).\n\n---\n\nL'auto-hébergement mail en 2026 reste possible, mais c'est devenu un sport : les règles changent, les gros acteurs durcissent leurs critères, et l'écosystème pousse vers la centralisation. Si tu réussis le warmup et tiens 6 mois sans incident, tu as gagné — mais ne baisse pas la garde, un changement unilatéral de Google peut survenir à tout moment, comme en février 2024.","featured":false,"tags":[]}