web-dev-qa-db-fra.com

Quelles sont les différences pratiques entre Maildir et Mbox?

Bien que je comprenne les bases des deux formats de stockage (1 fichier par e-mail sous Maildir vs 1 fichier unique par boîte aux lettres sous mbox), je me demande quelles sont les implications pratiques ici -

  • Un format de stockage est-il plus évolutif que l'autre?
  • Existe-t-il des problèmes/différences d'intégrité des données?
  • Y a-t-il des situations clairement définies où vous devez utiliser un format plutôt qu'un autre?
41
olympe26

Ne gérez pas les boîtes aux lettres de postfix. Jamais. Redirigez les messages pour les envoyer via un serveur POP/IMAP doté des fonctionnalités appropriées. En cas de pigeonnier, il y a dovecot-lda aka deliver qui font tout et bien plus encore, comme le filtrage des messages contrôlé par l'utilisateur, la gestion des quotas, la réponse automatique, etc.

Quoi qu'il en soit, maildir est un format plus récent et préférable en raison des nombreuses améliorations par rapport à maibox. Maildir dispose d'un index pour chaque dossier qui permet de contrôler les doublons, les délais d'expiration et même la recherche en texte intégral. De plus, maildir est beaucoup plus rapide sur une énorme pile de messages. Dovecot peut facilement utiliser maildir avec 300k messages sans aucun ralentissement visible. Une telle boîte aux lettres est un problème en soi. De plus, la plupart des serveurs POP/IMAP modernes disposent de nombreux utilitaires pour les tâches courantes dans les grandes infrastructures.

22
Kondybas

Si vous utilisez NFS pour le stockage du courrier, ne pas utiliser utilisez mbox en toutes circonstances. Et si vous voulez une solution évolutive, Maildir est la solution.

Le problème principal avec le format mbox est celui du verrouillage de fichiers - si vous avez plus d'un serveur de messagerie, ou plus d'un processus essayant d'accéder à la boîte aux lettres en même temps, vous courez un gros risque d'obtenir une boîte aux lettres corrompue. Il est également difficile de parcourir une boîte aux lettres et de supprimer un grand nombre de messages, par exemple lorsque vous avez subi une tempête de rebond.

Maildir est conçu pour fonctionner sans échec lorsque vous disposez de plusieurs serveurs de messagerie ou de plusieurs processus sur un serveur, en envoyant des e-mails au même compte en même temps que le serveur IMAP ou POP accède au compte.

Le principal problème avec Maildir est si vous utilisez un système de fichiers qui ralentit lors de la gestion d'un trop grand nombre d'inodes et si votre système de sauvegarde est mauvais pour gérer plusieurs fichiers. En ce qui concerne les systèmes de fichiers, à l'époque où je faisais de la messagerie électronique chez un FAI, VXFS était le meilleur pour cela. Pour les sauvegardes, je n'ai aucune recommandation; malheureusement, la plupart d'entre eux semblent être conçus pour gérer des serveurs de bases de données plutôt qu'un petit nombre de fichiers.

15
Jenny D

Pour répondre aux questions spécifiques:

n format de stockage est-il plus évolutif que l'autre?

mbox a tendance à devenir difficile à gérer plus elle grossit. Puisqu'il stocke tout dans un gros blob, il peut être difficile de sauvegarder de manière incrémentielle, et un tel accès verrouillera la mbox contre les écritures pendant qu'il se produit. S'il y a de la corruption, il est beaucoup plus difficile d'essayer de réparer ou de récupérer - ce qui pourrait être un risque qui augmente à mesure qu'il stocke plus de courrier.

Maildir s'appuie sur le système de fichiers sous-jacent pour son évolutivité, car il créera de manière caractéristique de nombreux petits fichiers, un par message. Si vous avez beaucoup d'e-mails, Maildir est généralement plus facile et plus rapide à traiter.

Y a-t-il des problèmes/différences d'intégrité des données?

Oui, le principal est que mbox nécessite un verrouillage de fichier en lecture/écriture sur toute l'archive, ce qui signifie que les lectures doivent attendre les écritures, et chaque écriture individuelle doit attendre tous les autres accès. S'il a été utilisé d'une manière telle que le verrouillage n'est pas possible, comme sur un partage NFS, l'archive est sujette à corruption. Toute corruption aléatoire peut affecter l'ensemble de l'archive plutôt qu'un seul message.

Avec Maildir, le verrouillage peut être au niveau du message individuel, pour la plupart des opérations, et la corruption dans n'importe quel fichier n'affectera que ce message. Tous les index des messages peuvent être reconstruits si nécessaire à partir des messages eux-mêmes.

Y a-t-il des situations clairement définies où vous devriez utiliser un format plutôt qu'un autre?

C'est plus le cas que Maildir commence à remplacer mbox comme format universellement préféré, sans inconvénients importants.

Sa principale limitation est sa création de très nombreux petits fichiers, qui avaient la capacité de mettre à rude épreuve certains systèmes de fichiers et/ou d'être inefficaces en fonction de la taille du cluster de systèmes de fichiers. C'est moins un problème avec les systèmes de fichiers modernes. Il peut également éclairer votre stratégie de sauvegarde, mais dans l'ensemble, il donne plus de flexibilité à votre choix de stratégie de sauvegarde.

4
thomasrutter

Postfix s'en fiche, surtout. Il met simplement le courrier dans un fichier. La partie intéressante intervient lorsque vous souhaitez récupérer le courrier de la machine via IMAP (ou POP3). La plupart des serveurs IMAP (j'ai essayé) préfèrent Maildirs, car ils sont plus faciles à étendre avec diverses métadonnées que le serveur IMAP pourrait souhaiter, tout en conservant une structure de base "ceci est un Maildir", de sorte que vous pouvez remplacer le serveur IMAP sans casser trop (vous perdrez évidemment les métadonnées, qui incluent également des indicateurs de courrier, vous devriez donc lire les documents de migration du serveur IMAP si vous voulez vraiment changer).

4
zhenech

Mbox est rapide lors de la recherche d'un texte dans une boîte aux lettres et de l'ajout d'un nouveau courrier dans le fichier courrier, mais il est sujet à la corruption du courrier et peut avoir des problèmes avec les systèmes de fichiers réseau. En outre, le verrouillage de fichiers peut être un problème.

Avec Maildir, la récupération de messages spécifiques est plus rapide et ne pose aucun problème en raison du verrouillage des fichiers ou des systèmes de fichiers réseau (exemple: avec Maildir, vous pouvez stocker différents dossiers de messagerie dans différents partages NFS, cela ne peut pas être réalisé avec Mbox). Vous pouvez avoir des problèmes avec Maildir lorsqu'un système de fichiers n'est pas efficace pour gérer un grand nombre de fichiers.

Je comprends que vous avez besoin d'une solution évolutive, avant de choisir l'une ou l'autre, assurez-vous de lire ce document: (même si vous n'utilisez pas Courier)

Analyse comparative de mbox par rapport à maildir

3
Gabriel Talavera