Qu'est-ce qu'un fichier MBOX ?
Un fichier MBOX est un fichier texte brut qui contient de nombreux messages les uns à la suite des autres, chacun commençant par une ligne qui débute par « From ». C'est ce que Google Takeout vous remet quand vous exportez Gmail — et ce dans quoi Thunderbird et Apple Mail rangent votre courrier.
Un fichier MBOX est un fichier texte brut qui stocke de nombreux messages les uns à la suite des autres, chacun commençant par une ligne qui débute par From suivi d’une espace. Tout le format tient là-dedans. C’est ce que Google Takeout vous donne quand vous exportez Gmail, et c’est ainsi que Thunderbird et Apple Mail conservent le courrier sur le disque.
Si vous en avez un dans vos téléchargements et que vous voulez simplement le lire, passez directement à l’ouvrir sur Mac ou sur Windows. Si vous voulez savoir ce que vous tenez entre les mains, poursuivez.
Pourquoi n’est-ce qu’un fichier texte ?
Parce qu’il a été inventé au début des années 1970, à une époque où une boîte aux lettres était un fichier auquel un programme ajoutait des lignes. MBOX — abréviation de mailbox — n’a jamais été conçu ; il s’est accumulé. Il n’a reçu de spécification écrite que des décennies plus tard, avec la RFC 4155, qui le décrit surtout pour expliquer comment en échanger un sur internet.
Ouvrez-en un dans un éditeur de texte et vous lisez votre propre courrier sans le moindre logiciel. Cela vaut la peine d’être su : quoi qu’il arrive à l’application que vous utilisez aujourd’hui, l’archive n’est pas prisonnière d’elle. Cinquante ans d’outils savent lire ce format, et c’est précisément pour cela que les services continuent d’exporter dedans.
Comment sait-il où finit un message ?
Grâce à une convention qui semble trop fragile pour avoir survécu : une ligne qui commence par From marque le début d’un nouveau message.
D’où le problème évident : que se passe-t-il quand le corps d’un message contient une ligne qui commence ainsi, dans une citation ou un extrait de code ? Les réponses à cette question sont les variantes du format. mboxo place un > devant la ligne coupable. mboxrd fait de même mais échappe aussi les lignes qui commencent déjà par >From, ce qui rend l’opération réversible. mboxcl et mboxcl2 renoncent à l’échappement et notent à la place la longueur de chaque message dans un en-tête Content-Length.
Vous n’avez presque jamais besoin de savoir laquelle vous avez. Cela ne compte que dans une seule situation : quand un outil se trompe et coupe un message en deux, vous laissant avec une boîte aux lettres qui contient plus de messages que vous n’en avez jamais reçu.
Que contient un message, à l’intérieur ?
Tout, encodé sous forme de texte. Un message a des en-têtes en haut — From, To, Subject, Date, plus une pile d’en-têtes techniques —, puis une ligne vide, puis le corps.
Si le message a une version HTML, ou une photo en pièce jointe, ce sont des parties MIME au sein du même message, et les fichiers binaires sont encodés en base64 pour survivre sous forme de texte. C’est pour cela qu’une boîte contenant quelques centaines de photos est énorme : le base64 gonfle un fichier d’environ un tiers, et le tout se trouve dans ce seul .mbox.
D’où vient un fichier MBOX ?
Quatre sources couvrent à peu près tout le monde :
- Google Takeout. Exportez votre Gmail et vous obtenez du MBOX — un seul fichier gigantesque, ou plusieurs si la boîte est très grande. Les libellés de Gmail font le voyage : l’export les écrit dans un en-tête.
- Thunderbird. Chaque dossier que vous voyez dans Thunderbird est un fichier MBOX dans votre dossier de profil, à côté d’un fichier d’index
.msfdont Thunderbird seul a besoin. - Apple Mail. Exporter une boîte produit quelque chose de déroutant : un dossier nommé
Inbox.mboxcontenant un fichier littéralement appelémbox. Le dossier n’est qu’un emballage ; le fichier à l’intérieur est du MBOX standard. - Serveurs de messagerie. Postfix, Dovecot et leurs cousins stockent le courrier ainsi depuis des décennies, et les vieilles sauvegardes en regorgent.
Alors comment en ouvre-t-on un ?
Pas en double-cliquant, en général — ni macOS ni Windows ne livrent quoi que ce soit d’associé à cette extension, donc il ne se passe rien, ou bien Apple Mail essaie de l’importer, ce qui est tout autre chose. Importer recopie chaque message dans le stockage de Mail ; ouvrir ne touche pas au fichier.
Ce qu’il vous faut, c’est un lecteur qui ouvre le fichier là où il se trouve et le laisse tranquille. C’est ce que fait Mbox Viewer sur Mac et sur Windows : il parcourt le fichier en flux au lieu de le charger en mémoire, si bien qu’une archive de 50 Go d’environ un demi-million de messages s’ouvre en moins de cinq minutes sans dépasser 600 Mo de RAM, et il construit un index pour que chaque réouverture prenne ensuite moins d’une seconde. Il est strictement en lecture seule. Les boîtes jusqu’à 1 Go s’ouvrent sans rien acheter.
Faut-il d’abord le convertir ?
Presque certainement pas, si votre objectif est de le lire. La conversion ne compte que lorsqu’un autre programme a besoin du courrier sous une autre forme — un cas plus rare que les résultats de recherche ne le laissent croire. La conversion dont on a réellement besoin est en général l’inverse : faire entrer une archive Outlook dans MBOX, ce qui a son propre guide.
La version courte
C’est un fichier texte plein d’e-mails, séparés par des lignes From . Il est vieux, il est simple, et c’est cette simplicité qui fait que votre courrier reste lisible des décennies plus tard. Le problème n’a jamais été le format : c’est que les systèmes d’exploitation ne savent pas quoi en faire, et que la plupart des lecteurs s’effondrent dès que le fichier grossit.
D’autres définitions dans le glossaire, à commencer par MBOX lui-même.
Ouvrez votre archive avec Mbox Viewer
Application native pour Mac et Windows. Lit en streaming des fichiers MBOX et EML de toute taille, entièrement hors ligne.