Skip to content
Mbox Viewer

mboxShell

L'outil de terminal gratuit derrière Mbox Viewer. Ouvrez, recherchez et exportez des fichiers MBOX de toute taille — directement depuis votre shell, sous Linux, macOS, FreeBSD et Windows.

Dernière v0.7.1 Libre et open source Écrit en Rust MIT
mboxshell
mboxShell dans un terminal, affichant une archive MBOX avec sa liste de messages, ses dossiers et son volet de lecture.

Une boîte à outils MBOX complète dans votre terminal

Tout le nécessaire pour manipuler d'énormes archives d'e-mails — lecture, recherche, mise en fils et export — sans interface graphique ni cloud.

Toute taille de fichier

Un parseur en streaming avec un tampon de 1 Mo ouvre des sauvegardes Gmail Takeout de plus de 50 Go en gardant la RAM autour de 500 Mo.

Réouverture en une fraction de seconde

Un index binaire persistant — vérifié en SHA-256 — rouvre même la plus grande archive en moins d'une seconde.

Recherche par champ

Filtrez avec from:, subject:, date:, body:, has:attachment et label:, plus des phrases exactes et un OR qui regroupe les alternatives : a OR b c se lit (a OR b) AND c — dans la TUI ou en ligne de commande.

Labels Gmail et Google Groups

Détecte les X-Gmail-Labels et les transforme en dossiers virtuels à parcourir et filtrer. Dans une archive Google Takeout, chaque boîte Groups apparaît sous le nom de son groupe.

Fils de conversation

Regroupe les messages liés en conversations grâce au célèbre algorithme de threading JWZ, en utilisant l'identifiant de conversation de Google (X-GM-THRID) lorsque la boîte en fournit un.

Exportez n'importe où

Enregistrez les messages en EML, CSV, TXT ou HTML, et extrayez les pièces jointes une à une ou en masse.

Fusionner et dédupliquer

Combinez plusieurs fichiers MBOX en un seul, avec déduplication optionnelle pour ne rien importer deux fois.

Interface de terminal complète

Une TUI basée sur ratatui avec trois modes de disposition, une navigation façon vi et l'autocomplétion pour bash, zsh, fish, PowerShell et elvish.

Multiplateforme et bilingue

Un seul binaire d'environ 5 Mo sans dépendances d'exécution. Fonctionne sous Linux, macOS, FreeBSD et Windows, avec une interface anglais/espagnol.

Nouveautés

Les trois dernières versions. La plus récente, la v0.7.1, est sortie le 20 août 2026.

v0.7.1

20 août 2026

Des recherches qui veulent dire ce que vous écrivez

  • OR a enfin une priorité. C'était un indicateur portant sur toute la requête, si bien qu'un seul OR n'importe où transformait chaque terme en alternative : from:anne OR from:luc subject:facture ne voulait pas dire « de l'un ou l'autre, à propos de factures » ; cela renvoyait tout ce qui venait d'Anne, tout ce qui venait de Luc et tout ce qui portait « facture » en objet, quel qu'en soit l'expéditeur. Sur une boîte de 6 787 messages, cela fait 49 résultats au lieu de 2 102. Une requête est désormais une liste de groupes reliés par AND, chaque groupe une liste de termes reliés par OR, et c'est OR qui place deux termes dans le même groupe : a OR b c se lit (a OR b) AND c. Toujours pas de parenthèses.
  • after:X before:Y était impossible à exprimer. La requête ne gardait qu'un seul filtre de date : le second remplaçait donc le premier sans rien dire et seul before: survivait — la moitié de ce que vous tapiez partait en silence. Les filtres de date et de taille s'additionnent maintenant, ce qui fait aussi de size:>1mb size:<5mb une vraie fourchette.
  • after: inclut désormais son propre jour et before: exclut toujours le sien : after:2024-01-01 before:2025-01-01 correspond donc exactement à l'année 2024 — la lecture semi-ouverte des opérateurs de Gmail, cohérente avec date:A..B, déjà inclusif. Les deux manuels et les deux README documentent la règle de priorité et les bornes de date. 23 nouveaux tests (234 au total).
Notes de version v0.7.1

v0.7.0

20 août 2026

L'autre moitié d'une archive Google Takeout

  • Les boîtes Google Groups s'ouvrent désormais comme n'importe quelle autre. Une archive Takeout contient deux types de mbox, et non un seul : outre l'export Gmail, chaque groupe dont le compte est propriétaire ressort en Groups/googlegroups.com/<groupe>@googlegroups.com/topics.mbox, avec des noms de dossier et de fichier traduits dans la langue du compte. Dans l'archive ayant servi au développement, c'était le plus gros fichier de tout l'export : 636 Mo et 6 787 messages, contre 292 Mo pour la mbox Gmail.
  • La date d'enveloppe From d'un message Groups ne donne plus une date inventée. Google Groups écrit le décalage horaire avant l'année (Thu Apr 16 09:53:04 +0000 2015), ce qu'asctime n'autorise pas ; un message sans en-tête Date: exploitable tombait donc sur une analyse de dernier recours qui renvoyait un 2000-09-16 crédible mais faux — aucune erreur, juste un tri et des filtres de date faussés.
  • Le groupe apparaît comme label virtuel dans la barre latérale : le panneau de labels couvre donc toute l'archive Takeout, et plus seulement sa moitié Gmail. Et la boîte ne s'affiche plus sous le nom « topics » mais sous celui du groupe (<groupe>@googlegroups.com), qui est ce qui l'identifie vraiment.
  • Les conversations sont regroupées par le véritable identifiant de conversation de Google (X-GM-THRID) quand il existe, et non plus par objet. Sur la boîte de référence, on passe de 1 927 à 1 958 fils, et le plus gros fil s'est débarrassé de 7 messages qui n'y avaient rien à faire.
  • Deux vieux bugs disparaissent : un message dont le Message-ID est répété ne s'évapore plus de la vue par fils, et l'option courte -f, revendiquée à la fois par --force et par le --format d'export, n'est plus disputée. Bon à savoir avant la mise à jour : le format d'index change, les fichiers .mboxshell.idx existants se reconstruisent tout seuls à la première ouverture.
Notes de version v0.7.0

v0.6.2

7 août 2026

Des fusions traçables et une doc conforme à l'outil

  • merge --source-header enregistre désormais le nom de boîte que vous connaissez. Apple Mail exporte une boîte sous forme de dossier « Inbox.mbox » contenant un fichier nommé littéralement « mbox », si bien que chaque message recevait X-Mbox-Source: mbox — inutile pour la seule raison d'être de cet en-tête. Les boîtes qui partageraient un nom sont distinguées par leur dossier.
  • La doc décrivait un merge --dedup inexistant : la déduplication est active par défaut et l'option réelle est --no-dedup. Les deux README et les deux manuels sont corrigés, et --source-header — livré sans documentation en 0.6.1 — est désormais expliqué.
  • La ligne de résumé « Tagged with source » était figée en anglais alors que toutes les autres étaient traduites — elle passe désormais aussi par le catalogue. 7 nouveaux tests (202 au total).
Notes de version v0.6.2
Lire le journal des modifications complet

À une commande près

mboxshell
$ mboxshell archive.mbox
# Ouvre l'interface de terminal interactive
$ mboxshell search archive.mbox "from:jane has:attachment"
# Recherche directement en ligne de commande
$ mboxshell export archive.mbox -f eml -o out/
# Exporte les messages en EML, CSV, TXT ou HTML
$ mboxshell merge a.mbox b.mbox -o all.mbox --source-header
# Fusionne les fichiers — doublons supprimés par défaut (--no-dedup pour les garder) — en notant de quelle boîte vient chaque message
$ mboxshell attachments archive.mbox -o files/
# Extrait toutes les pièces jointes d'un coup

Installation

Récupérez un binaire précompilé pour Linux, macOS, FreeBSD ou Windows sur la page des versions, ou compilez-le vous-même avec Cargo :

$ cargo install --git https://github.com/dcarrero/mboxshell.git

Le moteur open source derrière Mbox Viewer

Mbox Viewer pour Mac et Windows est né de mboxShell. L'application reprend la même idée — lire des fichiers MBOX de toute taille, entièrement hors ligne — dans une interface native soignée avec recherche, labels, fils et prise en charge EML. Vous préférez le terminal ? mboxShell est libre et sous licence MIT.

github.com/dcarrero/mboxshell