Formats de stockage des mails

Le stockage des mails est assuré par le MDA. Ce stockage est a priori1) indépendant du MDA, c’est-à-dire qu’on peut arrêter ou même supprimer le MDA et en changer, sans impacter l’intégrité des boîtes mails. Plusieurs solutions existent pour stocker les mails “en dur”. Ils peuvent être stockés au format mbox, maildir ou encore dbox. Ci-dessous une comparaison.2)

  • Maildir : chaque dossier de BAL (Boîte Aux Lettres) est un répertoire, chaque mail un fichier. Ce format est significativement plus rapide car ne nécessite pas le blocage en écriture d’un unique fichier mail lors d’ajout ou de suppression de mail. Également plus récent (années 90). Dovecot implémente par défaut la couche “répertoriage” de Maildir++ (extension supportant les sous-dossiers et les quotas). Le répertoire maildir en contient 3 autres :
    • tmp : reçoit en premier le nouveau mail, et lui attribue un nom unique, jusqu’à réception complète du mail depuis le MDA,
    • new : reçoit en second le nouveau mail, jusqu’à ce que le MUA parcourt ce dossier,
    • cur : reçoit enfin le nouveau mail. Attention, cela ne veut pas dire qu’il a été lu par l’utilisateur.
  • mbox : un seul fichier contient tous les mails. Nécessité de bloquer le fichier en écriture, (voire en lecture) pour empêcher la corruption de données. Format ouvert. Rapidité à l’ajout d’un nouveau mail à la BAL.
  • dbox : format de stockage développé par Dovecot. Qualifié de très performant (par eux-mêmes), il peut fonctionner de manière similaire à Maildir, ou constituer plusieurs fichiers qui aggrègent plusieurs mails (à la différence de mbox). La performance vient de l’utilisation d’index comme unique moyen de stockage des drapeaux (flags) et mots-clefs des messages. Cependant, la perte de ses fichiers d’index implique nécessairement la perte de données.

1)
Sauf peut-être pour les formats créés pour des MDA comme dbox, décrit dans cette page.
2)
Plus d’infos sur la comparaison mbox/maildir ici
  • technique/old/etudes/mail/users/formatstockage.txt
  • de qduchemi