# Courriel (SMTP / IMAP) > **Unité d'apprentissage.** Moule : ① concept → ② Set-OPS → ③ transférable → ④ à toi de jouer. --- ## ① Le concept *(générique)* Le courriel, c'est **trois rôles** distincts (souvent confondus) : - **MTA** (*Mail Transfer Agent*) : transporte le courrier entre serveurs — protocole **SMTP** (`:25`). - **MDA** (*Mail Delivery Agent*) : dépose le courrier dans la **boîte** et la sert — **IMAP** (`:993`). - **MUA** (*Mail User Agent*) : ton client (Thunderbird, l'appli). Deux SMTP différents : - **`:25`** = relais **serveur↔serveur** (pas d'authentification par mot de passe). - **`:587` (soumission)** = un **client authentifié** *envoie* son courrier (**SMTP AUTH + STARTTLS**). **LMTP** = remise **locale** du MTA vers le magasin. **Déliverabilité** (vers l'externe) = un tout autre problème : **DKIM** (signer), **SPF**, **DMARC**, réputation IP. --- ## ② Comment Set-OPS le fait | Pièce | Rôle | |---|---| | **Postfix** (`serveur_postfix`, edge-mta) | le **MTA** : reçoit `:25`, valide le destinataire **contre LDAP**, remet en **LMTP**. | | **Dovecot** (`serveur_dovecot`, infra-mail) | le **MDA/magasin** : boîtes `/var/vmail`, **IMAP** `:993`. | | **rspamd** (`serveur_rspamd`) | antispam + **signature DKIM**. | La **boucle souveraine**, prouvée de bout en bout : ``` Reçevoir : … ──> Postfix :25 ──> validation LDAP ──> LMTP ──> Dovecot ──> IMAP Envoyer : client ──> :587 (AUTH+STARTTLS) ──> SASL Dovecot/LDAP ──> Postfix ──> remise ``` Une **identité** (`testmail`, le mot de passe LDAP) sert IMAP *et* la soumission. Le tout **interne, chiffré, sans jamais toucher Internet** (l'envoi vers l'externe = Étape B, déliverabilité). --- ## ③ Pourquoi c'est transférable | Set-OPS | Équivalents ailleurs | |---|---| | Postfix / Dovecot | Exim · Sendmail · Exchange · tout serveur SMTP/IMAP | | SMTP/IMAP/LMTP, `:587` | **protocoles standards** — identiques partout | | DKIM/SPF/DMARC | universels pour la déliverabilité | Tu as appris **MTA/MDA/MUA, SMTP vs soumission, IMAP, la déliverabilité** — pas « Postfix ». --- ## ④ À toi de jouer 1. **Envoie via la soumission `:587`** (client authentifié) : ```bash swaks --server edge-mta-01.lab.chezlepro.internal:587 --tls \ --auth LOGIN --auth-user testmail@lab.chezlepro.internal --auth-password MotDePasseTest123 \ --from testmail@lab.chezlepro.internal --to testmail@lab.chezlepro.internal --header 'Subject: essai' ``` `235 Authentication successful` puis `250 queued` = ① en action. 2. **Lis la boîte** (le MDA) : `doveadm search -u testmail mailbox INBOX all | wc -l` sur infra-mail-01. 3. **Casse & répare.** Coupe l'annuaire (arrête OpenLDAP), renvoie un courriel : Postfix **rejette le destinataire** (il ne peut plus valider en LDAP). Rallume OpenLDAP : ça repart. Tu *sens* la dépendance **requise** MTA → annuaire. --- ## Pour aller plus loin *(dépôt)* - Rôles : `roles/serveur_postfix`, `roles/serveur_dovecot`, `roles/serveur_rspamd`. - Conception + Étape B (déliverabilité publique) : `docs/courriel-conception.md`. - Notifications système des nœuds : `client_smtp` (relais vers le MTA).