Fonctionnement général des emails
Adrien Kunysz
Un email transite par plusieurs "agents"
- Mail User Agent
- Mail Transfer Agent
- Mail Delivery Agent
- Mail Access Agent
Mail User Agent
- la partie vue par l'utilisateur
- envoit le message au MTA via SMTP
- va chercher les messages auprès du MAA via POP3, IMAP,...
- mailx, mutt, Evolution, Thunderbird,...
Mail Transfer Agent
- reçoit le message du MUA
- le transmet au MTA suivant ou au MDA (toujours via SMTP)
- sendmail, postfix, exim, qmail,...
Mail Delivery Agent
- reçoit l'email et le place dans la boîte de réception
- souvent intégré au MTA
- la boîte de réception peut être implémentée de différentes façons:
- fichier mbox
- répertoire maildir
- ...
Mail Access Agent
- rend la boîte de réception accessible au MUA
- serveur POP3, IMAP,...
- Cyrus,...
anatomie d'un email
- 3 parties:
- l'enveloppe
- l'entête
- le corps
enveloppe
- contient normalement les champs "To" et "From" qui sont dans l'entête
- ne fait pas partie de l'email
- utilisé uniquement au niveau SMTP
entête
- ensemble de paires de clés/valeurs propre à l'email
- champs courants: From, To, Date, Message-Id, Subject, Cc, Reply-To, In-Reply-To,...
- on peut "inventer" des champs qu'il est recommandé de commencer par "X-"
corps
- le message lui même
- normalement entièrement en ASCII
- nécessité de recoder les messages non ASCII
MIME (Multipurpose Internet Mail Extensions)
- permet d'avoir plusieurs parties dans un même message
- permet un codage et un type différent pour chaque partie
- pas réservé uniquement aux emails (aussi utilisé dans HTTP)
codages MIME
- 7bit
- 8bit
- binary
- quoted-printable
- base64