Skip to content

mboxShell v0.7.2

Choose a tag to compare

@github-actions github-actions released this 22 Aug 09:51
· 1 commit to main since this release
f581c95

mboxShell v0.7.2

Fast terminal viewer for MBOX files of any size.

What's new in 0.7.2 — export a selection back out as a mailbox

A selection could leave as files, but never as a mailbox. export could already write .eml, CSV, text or HTML — a folder of files — so there was no way to hand over part of an archive in the format it arrived in. Whoever received it got something they could not open as a mailbox.

export --format mbox now writes the selected messages to a single new MBOX. Combined with --query that is the delivery flow: filter a large export — a Google Vault dump, a Takeout archive — down to the messages that actually belong in a handover, and produce a mailbox containing only those.

mboxshell export archive.mbox --format mbox --query "from:legal after:2024-01-01" -o handover.mbox

A message that came from an MBOX is copied byte for byte, keeping its own From envelope line and whatever quoting the source used. Rewriting an envelope could only corrupt an archive that was already valid, so it is left exactly as found. A message with no envelope line — one that came from an EML — gets one synthesized: C asctime in UTC, day space-padded to two columns, locale-independent; plus >-quoting of body lines that start with From , without which the result is not a readable mailbox.

Every record ends in a newline, and the output is committed by temp-file-and-rename like the merge, so a failure part-way through never leaves a half-written mailbox under the name you asked for. The source file is never touched.

New export::mbox::export_mbox and export::mbox::mbox_record. 7 new tests (241 total). Full detail in the changelog (español).

If you are coming from 0.6.x, see v0.7.0 for Google Groups support and the index format change, and v0.7.1 for the OR precedence and date-filter fixes.

Downloads

Platform Binary
Linux x86_64 mboxshell-linux-x86_64
Linux ARM64 mboxshell-linux-aarch64
Linux RISC-V 64 mboxshell-linux-riscv64
FreeBSD x86_64 mboxshell-freebsd-x86_64
macOS Intel mboxshell-macos-x86_64
macOS Apple Silicon mboxshell-macos-aarch64
Windows x86_64 mboxshell-windows-x86_64.exe
Windows ARM64 mboxshell-windows-arm64.exe

Installation

# Linux / macOS
chmod +x mboxshell-*
sudo mv mboxshell-* /usr/local/bin/mboxshell

# Or build from source
cargo install --git https://github.com/dcarrero/mboxshell.git

What's included

  • Streaming MBOX parser (handles 50GB+ files)
  • Persistent binary index for instant re-opens
  • Gmail labels support (X-Gmail-Labels) and Google Groups mailboxes from Takeout
  • Advanced search (from:, subject:, date:, body:, has:attachment, etc.) with AND/OR precedence
  • Conversation threading (JWZ algorithm, or X-GM-THRID when present)
  • Export to EML, MBOX, TXT, CSV with attachment extraction
  • Merge mailboxes with deduplication and optional source-mailbox header
  • Full terminal UI with vi-style navigation
  • Bilingual interface (English/Spanish)