07 - Glossaire complet
Tous les termes qu'on a croises dans cette serie, et quelques autres que tu rencontreras forcement en gerant ton serveur mail.
A
A Record
Un enregistrement DNS qui associe un nom de domaine a une adresse IPv4. Pour le mail, tu as besoin d'un A record pour mail.tondomaine.fr qui pointe vers l'IP de ton VPS.
mail.paltemps.fr. IN A 51.xx.xx.xx
ACME
Automatic Certificate Management Environment. Le protocole utilise par Let's Encrypt pour générer et renouveler les certificats SSL automatiquement. Caddy l'implemente nativement, c'est ce qui permet l'auto-SSL sans configuration.
Alias
Une adresse email qui redirige vers une autre boîte. Par exemple, info@paltemps.fr qui redirige vers contact@paltemps.fr. L'alias n'a pas de boîte propre, il fait juste suivre.
B
Blacklist (RBL)
Une liste d'adresses IP connues pour envoyer du spam. Quand ton serveur envoie un email, le serveur de destination vérifié si ton IP est blacklistee. Si oui, ton mail est refuse ou part en spam. Verifie ton IP sur MXToolbox.
Bounce
Un email qui revient a l'expediteur parce que la livraison a echoue. Il y a les "hard bounces" (adresse inexistante, domaine mort) et les "soft bounces" (boîte pleine, serveur temporairement indisponible).
C
Certificat SSL/TLS
Un fichier cryptographique qui prouve l'identité de ton serveur et permet le chiffrement des connexions. Pour le mail, tu en as besoin sur les ports 993 (IMAPS) et 465/587 (SMTPS/STARTTLS). On en parle dans l'article 04 sur SSL et Caddy.
D
DKIM (DomainKeys Identified Mail)
Un système de signature cryptographique. Ton serveur signe chaque email sortant avec une clé privee. Le destinataire vérifié la signature avec ta clé publique (publiee dans un TXT record DNS). Si la signature est valide, ca prouve que le mail n'a pas ete modifie en transit et qu'il vient bien de ton domaine. Defini dans le RFC 6376.
mail._domainkey.paltemps.fr. IN TXT "v=DKIM1; k=rsa; p=MIIBIjAN..."
DMARC (Domain-based Message Authentication, Reporting and Conformance)
Une politique DNS qui dit aux serveurs de destination quoi faire quand SPF ou DKIM echouent. Trois politiques possibles : none (ne rien faire, juste reporter), quarantine (mettre en spam), reject (refuser). Defini dans le RFC 7489.
_dmarc.paltemps.fr. IN TXT "v=DMARC1; p=quarantine; rua=mailto:contact@paltemps.fr"
DNS (Domain Name System)
Le système qui traduit les noms de domaine en adresses IP (et inversement). Pour le mail, tu configures les records MX, SPF, DKIM, DMARC et PTR dans ta zone DNS. Tout est détaillé dans l'article 01 sur les DNS.
docker-mailserver
Le logiciel qu'on utilise dans cette serie. C'est un container Docker tout-en-un qui embarque Postfix (SMTP), Dovecot (IMAP), OpenDKIM, SpamAssassin et Fail2Ban. Un seul container, pas 5 services a gerer. Documentation officielle.
Dovecot
Le serveur IMAP/POP3 le plus utilise sur Linux. C'est lui qui gere l'acces aux boîtes mail (lecture, dossiers, recherche). Dans docker-mailserver, Dovecot écoûte sur le port 993 (IMAPS).
E
Envelope
Les metadonnees de routage d'un email, distinctes du contenu visible. L'envelope contient le "MAIL FROM" (expediteur réel) et "RCPT TO" (destinataire réel). Le champ "From:" que tu vois dans ton client mail fait partie du header, pas de l'envelope. C'est pour ca que le spoofing est si facile sans SPF/DKIM.
F
Fail2Ban
Un outil qui surveille les logs et bloque les IP qui font trop de tentatives ratees (brute force). Dans docker-mailserver, Fail2Ban protégé les ports SMTP et IMAP contre les attaques par dictionnaire.
Forward / Redirection
Renvoyer un email reçu vers une autre adresse. Attention : le forwarding casse souvent SPF (l'IP qui forward n'est pas celle autorisee par le SPF de l'expediteur original). SRS (Sender Rewriting Scheme) corrige ca, mais c'est un autre sujet.
G
Greylisting
Une technique anti-spam. Quand un email arrive d'un expediteur inconnu, le serveur le refuse temporairement (code 450). Les vrais serveurs mail reessaient quelques minutes plus tard, les spammers non. docker-mailserver supporte le greylisting via Postgrey.
H
Header
Les metadonnees d'un email : From, To, Subject, Date, Message-ID, mais aussi les headers techniques (Received, X-Spam-Status, DKIM-Signature, etc.). Quand tu debugges un problème de delivrabilite, c'est la première chose a regarder. Dans Gmail, "Afficher l'original" montre les headers complets.
HELO / EHLO
La commande que ton serveur envoie pour se presenter au serveur distant. EHLO (Extended HELO) envoie le hostname de ton serveur. Ce hostname doit correspondre au PTR record de ton IP, sinon certains serveurs refusent la connexion.
I
IMAP (Internet Message Access Protocol)
Le protocole pour lire ses emails depuis un client (Thunderbird, Apple Mail, webmail). Contrairement a POP3, IMAP garde les mails sur le serveur et synchronise les dossiers. Port standard : 993 (avec TLS). On utilise imapflow en Node.js pour s'y connecter dans l'article 06.
IP warming
Le processus de construire la reputation d'une nouvelle adresse IP pour l'envoi d'emails. Tu commences par envoyer peu de mails (quelques dizaines par jour), puis tu augmentes progressivement. Si tu envoies 10 000 mails le premier jour, les serveurs de destination vont te blacklister.
L
Let's Encrypt
Une autorite de certification gratuite et automatisee. Caddy utilise Let's Encrypt via ACME pour générer les certificats SSL de tous tes sous-domaines, y compris mail.paltemps.fr.
M
mail-tester.com
L'outil qu'on utilise pour tester la delivrabilite. Tu envoies un email a une adresse temporaire, et il te donne un score sur 10 avec les détails de ce qui passe et ce qui echoue. Objectif : 9+/10. Gratuit pour quelques tests par jour.
MDA (Mail Delivery Agent)
Le composant qui depose le mail dans la boîte de l'utilisateur. Dans notre stack, c'est Dovecot qui joue ce rôle via LDA (Local Delivery Agent). Le mail arrive par Postfix, passe par les filtres (SpamAssassin), puis est depose dans la boîte Maildir par Dovecot.
MTA (Mail Transfer Agent)
Le composant qui route les emails entre serveurs. Postfix est un MTA. Quand tu envoies un mail, Postfix le prend en charge, resout le MX du domaine destinataire, et le transmet au serveur distant.
MUA (Mail User Agent)
Le client mail : Thunderbird, Apple Mail, Gmail (web), ou ton webmail custom. C'est ce que l'utilisateur utilise pour lire et écrire des emails. Le MUA parle IMAP pour lire et SMTP pour envoyer.
MX Record
L'enregistrement DNS qui indique quel serveur recoit les emails pour un domaine. Sans MX record, personne ne peut t'envoyer de mail.
paltemps.fr. IN MX 10 mail.paltemps.fr.
Le chiffre 10 est la priorité (plus bas = plus prioritaire). Tu peux avoir plusieurs MX pour la redondance.
N
nodemailer
La librairie Node.js (compatible Bun) pour envoyer des emails via SMTP. C'est ce qu'on utilise dans l'app paltemps.fr pour le formulaire de contact et les notifications. Documentation.
O
OpenDKIM
L'implementation open source de DKIM qu'on utilise dans docker-mailserver. Il signe les mails sortants et vérifié les signatures des mails entrants. La commande setup config dkim généré les clés.
P
POP3
Post Office Protocol version 3. Un ancien protocole de lecture d'emails qui telecharge les mails et les supprime du serveur. Utilise IMAP a la place. POP3 est désactivé par défaut dans docker-mailserver, et c'est tres bien comme ca.
Postfix
Le MTA (serveur SMTP) le plus déployé au monde. C'est le composant de docker-mailserver qui recoit les mails entrants (port 25) et envoie les mails sortants (ports 465/587). Cree par Wietse Venema comme alternative sécurisée a Sendmail. Documentation officielle.
PTR Record (Reverse DNS)
L'enregistrement DNS inverse : il associe une adresse IP a un nom de domaine. C'est le premier check que font la plupart des serveurs de reception. Si ton IP ne resout pas vers ton hostname mail, tes mails seront probablement refuses. Explique en détail dans l'article 02.
Q
Queue
La file d'attente de Postfix. Quand un mail ne peut pas etre livre immédiatement (serveur distant indisponible, greylisting), il est mis en queue et Postfix reessaie periodiquement. La commande mailq affiche la queue, postsuper -d ALL la vide.
R
Relay
Un serveur SMTP intermediaire qui transmet les mails pour le compte d'un autre. Certains hébergeurs bloquent le port 25 sortant, ce qui oblige a utiliser un relay (comme Mailgun ou SendGrid). Sur un VPS OVH, le port 25 est ouvert par défaut.
RFC
Request for Comments. Les documents techniques qui definissent les standards d'Internet. Pour le mail, les RFC importants sont : 5321 (SMTP), 3501 (IMAP), 6376 (DKIM), 7208 (SPF), 7489 (DMARC).
S
SMTP (Simple Mail Transfer Protocol)
Le protocole de transport des emails. Deux usages : recevoir des mails d'autres serveurs (port 25) et accepter des mails a envoyer depuis un client authentifié (port 587 avec STARTTLS, ou 465 avec TLS direct).
SpamAssassin
Le filtre anti-spam intégré a docker-mailserver. Il analyse les mails entrants et leur attribue un score. Au-dessus d'un seuil (par défaut 5.0), le mail est marque comme spam. Tu peux ajuster le seuil dans la config.
SPF (Sender Policy Framework)
Un enregistrement DNS TXT qui liste les serveurs autorises a envoyer des emails pour ton domaine. Quand un serveur recoit un mail de @paltemps.fr, il vérifié le SPF pour voir si l'IP d'origine est autorisee. Defini dans le RFC 7208.
paltemps.fr. IN TXT "v=spf1 mx a:mail.paltemps.fr -all"
Le -all a la fin signifie "rejeter tout ce qui ne matche pas". C'est strict, mais c'est ce qu'il faut.
STARTTLS
Une extension du protocole SMTP qui permet de passer d'une connexion non chiffree a une connexion TLS. Utilise sur le port 587. Contrairement au port 465 qui est TLS des le depart, STARTTLS commence en clair puis "upgrade". Les deux sont acceptables, mais 465 (TLS implicite) est recommande par le RFC 8314.
swaks
Swiss Army Knife for SMTP. Un outil en ligne de commande pour envoyer des mails de test. On l'utilise dans l'article 05 pour tester la delivrabilite via mail-tester.com.
bashswaks --to test@mail-tester.com --from contact@paltemps.fr --server localhost --auth LOGIN
T
TLS (Transport Layer Security)
Le protocole de chiffrement qui protégé les communications email en transit. Sans TLS, les mails circulent en clair sur le réseau. Avec TLS, le contenu est chiffre entre ton serveur et le serveur distant. Voir la serie sur le chiffrement pour les détails.
TXT Record
Un enregistrement DNS générique qui stocke du texte. Utilise pour SPF, DKIM et DMARC. C'est le type de record que tu configures le plus souvent pour le mail.
Sources
- docker-mailserver - Documentation par docker-mailserver
- RFC 5321 - Simple Mail Transfer Protocol par IETF
- RFC 3501 - Internet Message Access Protocol par IETF
- Postfix Documentation par Postfix.org
Retrouve d'autres articles techniques sur paltemps.fr.
Navigation : Precedent : 06 - Intégration dans ton app | Serie terminee ! Retour a 00 - Introduction