MBOX - hackathonBnF/FichesFormat GitHub Wiki

MBOX Statut

Description

MBOX est un ensemble de formats ouverts de stockage de dossiers de messagerie. Il est parfois nommé « Berkeley format ». Contrairement à d'autres formats de messagerie comme Microsoft PST, MBOX ne permet pas d'enregistrer des contenus complémentaires comme des contacts, des entrées d'agenda ou des tâches.

Sociabilité

Il est largement utilisé dans des logiciels de messagerie (Eudora, Thunderbird, KMail, RoundCube, ...) mais aussi comme format de sauvegarde ou d'export (par exemple, GMail propose une fonction de récupération des mails au format mbox).

Les institutions de conservation l'ont majoritairement adopté, notamment du fait que l'outil de tri, empaquetage, recherche et accès aux messageries numériques ePADD l'a adopté comme format d'entrée et de sortie.

Relations aux autres formats

Les formats MBOX sont une concaténation de messages Internet Message.

Versions

Quatre variantes du format existent : mboxo, mboxrd, mboxcl et mboxcl2, qui se différencient essentiellement par la structure de la ligne initiale « From » et la manière d'échapper les éventuelles chaînes de caractères « From » dans le corps du message qui pourraient perturber la segmentation en messages individuels. Les fichiers MBOX étant des bases de données de messages, ils peuvent avoir été modifiés par différentes applications ayant chacune leurs pratiques, notamment pour le formatage des champs de la ligne « From » initiale.

Cette complexité rend les variantes potentiellement incompatibles les unes avec les autres et entraîne des difficultés d'identification du format. Pour plus de détail, on consultera cette page de Jonathan de Boyne Pollard.

Contenu

MBOX permet d'embarquer une succession de messages individuels réunis dans un dossier (et non une messagerie complète : le format ne dispose pas de l'expressivité nécessaire à la description d'une arborescence de dossiers contenue dans une messagerie).

Le jeu de caractères utilisé par MBOX est l'ASCII sur 7 bits dans un flux 8 bits.

Le format MBOX est, schématiquement, la concaténation de messages individuels au format IMF défini par la RFC 2822 ou sa successeure, la RFC 5322. Le principal problème est d'identifier où commence chaque nouveau message. Le séparateur est une nouvelle ligne commençant par les lettres « From » suivies d'une espace. Néanmoins, cette série de caractères pouvant apparaître dans le corps des messages, les variantes du format ont défini plusieurs méthodes différentes pour marquer cette chaîne de caractères si elle se présentait dans le texte et n'était pas le marqueur d'un nouveau mail. Les comportements des différents logiciels vis-à-vis des différentes variantes de MBOX représentent le principal risque de restitution incorrecte d'un fichier MBOX.

Des pièces jointes de format arbitraire peuvent être insérées dans des messages, encodées en base64.

Organisme de maintenance et documentation de référence

Le format est décrit par la RFC 4155, mémo de statut informational. Ce document n'est néanmoins pas une norme ; il tente de décrire les caractéristiques communes des formats MBOX et fait état des variantes introduites par les différentes implémentations. Les variantes elles-mêmes sont peu documentées. On citera tout de même les ressources suivantes : une page liée au manuel de l'outil Qmail et la page déjà citée de Jonathan de Boyne Pollard.

Identifiants

Extension : .mbox, parfois .mbx. La RFC 4155 dit explicitement que cette extension n'est pas obligatoire, du fait notamment que les anciens systèmes Unix n'en généraient pas.

Type MIME : application/mbox. La RFC encourage l'utilisation d'un paramètre format pour préciser la variante de MBOX utilisée et indique que chaque valeur devrait faire l'objet d'une spécification distincte (ce qui n'a pas été fait à notre connaissance). L'absence de ce paramètre suggère que la variante est celle décrite dans l'appendice A de la RFC.

Registre Identifiant
Wikidata Q285972
Bibliothèque du Congrès fdd000383
fdd000384 (MBOXO)
fdd000385 (MBOXRD)
fdd000386 (MBOXCL)
fdd000387 (MBOXCL2)
PRONOM fmt/720
Just Solve the File Format Problem Mbox

Caractéristiques techniques

Le format MBOX étant un format textuel, constitué d'une concaténation de messages dont la structure est elle-même standardisée, il est simple (CPO-SIM) et facilement interprétable par des outils tels que de simples éditeurs de texte (CPO-TRA).

Néanmoins, les variantes, relativement peu documentées, introduisent un risque lié au découpage en messages individuels. En outre, la valeur de l'attribut Content-Length de l'en-tête du message est recopiée telle quelle et peut donc être fautive.

Il existe un risque avéré d'altération des fichiers MBOX si plusieurs applications tentent de le modifier simultanément (CPO-ROB). Afin de limiter ce risque, des mécanismes de verrouillage de l'édition ont été développés, mais la multiplicité de ces mécanismes produit est également source de risques. En outre, le format ne définissant pas de taille maximale, des fichiers MBOX très volumineux peuvent exister, et ces derniers sont davantage soumis au risque de corruption.

MBOX ne définit pas de mécanisme de protection (CPO-PRO) ni de méthode de caviardage. Les applications qui gèrent ces fonctionnalités ne peuvent donc pas les exprimer dans les structures officielles du format.

Métadonnées internes

MBOX ne prévoit pas de métadonnées internes associées au dossier de messages. Néanmoins, il est possible d'ajouter des attributs personnalisés ; il est d'usage de les préfixer par X- . Par exemple, GMail ajoute l'attribut X-Gmail-Labels pour fournir l'ensemble des étiquettes associées au message.

La ligne "From " initiant chaque message mentionne l'expéditeur et la date à laquelle le message a été reçu par le système destinataire. Les autres métadonnées du message sont celles définies par le format Internet Message (par exemple, les attributs optionnels Subject, Comments ou Keywords).

Outils connus par la BnF

MBOX étant un format textuel, il peut être manipulé par une très grande variété d'outils.

  • Identification : du fait de l'existence de ses multiples variantes, l'identification du format n'est pas évidente. Ainsi, à la date du 26 novembre 2024, le registre PRONOM l'identifie par sa seule extension.
  • Production : La BnF teste un outil développé par l'un de ses agents, Donatemail afin de récupérer au format MBOX un dossier de messagerie via le protocole IMAP.
  • Transformation :
    • L'outil Emailchemy, payant, permet de convertir de nombreux formats de messagerie vers MBOX. Son association en entrée de l'outil ePADD est prévue par ce dernier.
    • La bibliothèque libpst permet de convertir des messageries PST vers MBOX et réciproquement.
  • Tri, recherche et accès : l'outil EPADD utilise le format MBOX en entrée et permet, en particulier, de réaliser une sélection des messages, de les indexer avec des vocabulaires contrôlés, de les diffuser et de permettre une recherche plein texte.

Usage ou présence dans les collections de la BnF

Il n'y a pas encore de fichiers MBOX dans les collections de la BnF, mais ce format est pressenti pour la réception et la conservation de messageries numériques obtenues par don (une expérimentation est en cours).

⚠️ **GitHub.com Fallback** ⚠️