l'e-mail transite par plusieurs "agents" - MUA - MTA - MDA - MAA - MUA MUA: - la partie vue par l'utilisateur - envoit le message au MTA via SMTP - mutt, Thunderbird, OutLook,... MTA: - reçoit le message du MUA - le transmet au MTA suivant ou au MDA (tjrs via SMTP) - sendmail, postfix, exim, qmail,... MDA: - reçoit l'email du MTA et le met dans l'inbox MAA: - rend l'inbox disponible via le réseau MUA: - va chercher le message auprès du MAA via POP3, IMAP,... anatomie d'un email: 3 parties: - l'enveloppe - l'entête - le corps enveloppe: - contient normalement les To: et From: qui sont dans l'entête - ne fait pas partie de l'email - utilisée uniquement au niveau SMTP entête: - ensemble de paires 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 - souvent entièrement en ASCII - nécessité de recoder les messages non ASCII MIME (Multipurpose Internet Mail Extensions): - pas réservé aux mails (aussi utilisé dans HTTP) - permet d'avoir plusieurs parties dans un même message - permet un codage différent pour chaque partie - codages: - 7bit - 8bit - binary - quoted-printable: reste assez lisible mais ne passe pas sur certains systèmes et l'email risque d'être modifié en route (retours à la ligne,...) - base64: illisible mais passe partout et ne devrait pas être modifié en route