{{indexmenu_n>30}} ====== Stockage des mails reçus ====== Nous avons choisi de stocker les mails au format //Maildir// car c'est un standard et qu'il est optimisé en terme d'accès((Une brève comparaison est effectuée sur cette [[technique:old:etudes:mail:users:formatstockage|page]].)). Avec Dovecot, la spécification du format de stockage est très simple, elle est incluse dans la définition de l'emplacement de stockage : mail_location = maildir:/home/vmail/%n/Maildir Il serait donc assez simple de changer de format de stockage (par exemple pour //mbox//), cependant il faudrait préalablement effectuer la conversion des anciens mails au nouveau format, ou permettre aux utilisateurs le téléchargement de ces anciens mails. En plus de cela, il faut que le stockage des mails soit pérenne (qu'ils ne disparaissent pas à la suite de l'arrêt du conteneur MDA). Docker propose donc de //conteneuriser// le stockage des mails avec un Docker Volume. C'est un système de fichier qu'on peut insérer ou retirer d'un conteneur ou encore partager entre plusieurs conteneurs. Voir [[technique:docker:general:volumes|cet article sur les Docker Volumes]] pour en savoir plus. Enfin, puisque nous contrôlons les utilisateurs avec un LDAP, nous utilisons des **utilisateurs virtuels** dans le sens où nous utilisons **un seul utilisateur système (//vmail//) qui possède toutes les boîtes mails**. L'architecture du volume ''mail-mda-maildir'' est donc celle-ci : {{ :mails:schema_maildir-vmail.jpeg?direct&400 |}} **À noter** que l'utilisation d'utilisateurs virtuels peut être simplifiée((Ainsi, l' ''uid'' et le ''gid'' de ''vmail'' seront greffés au résultat de chaque requête au LDAP, de manière à avoir les droits d'accès (au sens de système de fichiers UNIX) aux boîtes mails.)) avec Dovecot en éditant le fichier ''/etc/dovecot/conf.d/10-mail.conf'': mail_uid = vmail // nom choisi pour l'utilisateur virtuel mail_gid = vmail