Comment marche l’email (1ère partie)

Vous l’utilisez quotidiennement, mais comment marche l’email réellement ? Quels sont les protocoles de l’email, SMTP et IMAP ? comment fonctionnent-ils ? Par ou passe un email ? Voici un récapitulatif des bases de l’e-mail.

Comment marche l’email

Commençons par le chemin emprunté par l’e-mail

Le chemin de l'email

Les composants (en rouge):

  • MUA (Mail User Agent) : Il s’agit du logiciel utilisé pour envoyer et recevoir vos email. Le plus connu est Outlook, mais Thunderbird, en Open Source et gratuit, est un très bon outil.
  • MSA (Mail Submission Agent) : Il s’agit d’un logiciel serveur dédié à traiter les demandes d’envoi de mails. Il reçoit les demandes des MUA, et si les critères d’acceptations sont respectés (authentification, contenu,…) le mail est accepté pour l’envoi.
  • MTA (Mail Transfert Agent) : Il s’agit d’un logiciel serveur dédié à acheminer les mails vers le bon serveur.
  • MDA (Mail Delivery Agent) : Il s’agit également d’un logiciel serveur dédié à déposer le mail dans la boite aux lettres de l’utilisateur.

Rentrons dans le détail, et pour comprendre comment marche l’email :

Les protocoles (en vert)

  • SMTP (Simple Mail Transfert Protocol) : Il s’agit du protocole utilisé par les MSA et les MTA. C’est le protocole principale de l’email.
  • LMTP (Local Mail Transfert Protocol) : Peu connu et peu visible des utilisateurs, il permet le transfert des mails localement entre un MSA et un MDA.
  • IMAP (Internet Message Access Protocol) : Il s’agit d’un protocole qui permet l’interrogation et la manipulation des e-mails de sa boite aux lettres. Il est encore souvent remplacé par POP, mais le POP ne permet principalement que la relève des emails. De plus, avec une boite relevée en POP, il n’est quasiment pas possible d’utiliser 2 clients de messageries ou un webmail.

Comment marche l’email ou le chemin de l’email (pastilles jaunes)

  1. L’email, composé à partir d’un outil tel que Outlook ou Thunderbird, est soumis au serveur MSA en utilisant le protocole SMTP. Théoriquement, le port TCP 587 doit être utilisé (tel que décrit dans la RFC 6409). Le fait d’utiliser ce port permet de ne pas appliquer les mêmes règles que le relais MTA et donc permettre de mieux qualifier les vrais envois des SPAM.
  2. Arrivé sur le serveur MSA, un certain nombre de vérifications sont faites, tel que la validation de l’émetteur, et s’il est autorisé à envoyer ce mail. Souvent, le client SMTP doit s’authentifier auprès du serveur SMTP avec un login et un mot de passe. On parle alors de SMTP A (SMTP Authentifié). Grâce à cette authentification, la lutte contre les envois frauduleux est améliorée, et permet donc de lutter contre le SPAM en faisant en sorte de ne pas en envoyer.
    Une limite de quantité ou de volume de mails envoyés peut être également utilisée afin de bloquer un utilisateur ayant un ordinateur vérolé, et donc utilisé pour envoyer des SPAMS en masse, avec le login et le mot de passe de l’utilisateur.
  3. Le serveur MSA transfert le mail à un serveur MTA. Il se peut que les serveurs n°2 & n°3 soient les mêmes, en tout cas, ils font souvent partie de la même infrastructure du fournisseur de service ou de votre entreprise.
    Pour déterminer le serveur n°4, le serveur n°3 effectue une requête DNS en demandant les pointages MX (Mail Exchanger) du domaine du destinataire. Cette requête DNS donne le nom et surtout l’adresse IP pour se connecter au serveur n°4.
  4. Le serveur MTA n°4, est donc forcément accessible depuis Internet. Il doit aussi se protéger des spammeurs. Pour cela, il utilise des serveurs RBL (Realtime Blackhole List) qui lui indiquent, au moyen du protocole DNS, si l’adresse du serveur n°3 est réputée en tant qu’émetteur de SPAM ou pas. Dans ce cas, cela lui permet de bloquer la communication dés le début, et de ne pas être surchargé de demandes frauduleuses.
    Il existe énormément de moyens de lutte contre le spam, on peut citer bien évidemment les filtres bayésiens, mais en réalité, les RBL stoppent bien plus de trafic malveillant en amont, et sont bien moins consommateur de ressources CPU.
    Une autre méthode souvent utilisée consiste a vérifier si l’adresse de l’émetteur existe. C’est le SENDER VERIFY. Il s’agit de se connecter au serveur MX de l’émetteur (dans notre cas, il s’agit sûrement du serveur n°3) et de simuler un envoi de mail avant d’accepter le mail original. S’il est accepté, l’utilisateur émetteur existe donc sûrement.
    On peut également citer comme moyens de lutte contre le SPAM, les SPF (Sender Policy Framework), le Grey Listing, les quotas d’envois…
    Une fois les différents filtres passés, le serveur n°4 transfert le mail au serveur n°5 via le protocole LMTP.
  5. Le serveur n°5 réceptionne le mail, exécute éventuellement des filtres SIEVE qui permettent le classement ou autres actions sur le mail, puis le place normalement dans l’INBOX du destinataire (selon ses filtres).
  6. Pour terminer, le MUA du destinataire effectue une relève (POP ou IMAP) du mail et le présente à l’utilisateur.

Peut être que vous y voyez plus clair par ces explication (simplifiées !) sur comment marche l’email. On se rend compte aussi, que le parcours d’un email n’est pas simple qu’il est soumis à plusieurs tests, principalement pour lutter contre le SPAM.

C’est un système vivant. Autrement dit, la mise à jour et l’amélioration d’un tel système est vitale afin de garantir au mieux un service de qualité. C’est un travail à plein temps, si l’on veut fournir un service de messagerie SaaS, comme celui que nous proposons. Il est parfois délicat d’ajuster son comportement, mais la lutte contre le SPAM, aussi bien pour se protéger de l’envoi, que d’éviter d’en laisser passer tout en autorisant le trafic « propre » est un challenge de tous les jours.

La suite de cet article  concerne les protocoles de l’email, et le protocole SMTP plus particulièrement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *