Skip to content
Mbox Viewer

mboxShell

Mbox Viewerの基盤となる無料のターミナルツール。Linux、macOS、FreeBSD、Windowsで、あらゆるサイズのMBOXファイルをシェルから直接開き、検索し、エクスポートできます。

最新 v0.7.1 無料・オープンソース Rust製 MIT
mboxshell
ターミナルで動作するmboxShell。メッセージ一覧、フォルダー、閲覧ペインを備えたMBOXアーカイブを表示。

ターミナルで完結するMBOXツールキット

巨大なメールアーカイブの読み込み・検索・スレッド化・エクスポートに必要なすべてを、GUIもクラウドもなしで。

あらゆるサイズ

1 MBバッファのストリーミングパーサーが、50 GB超のGmail TakeoutバックアップをRAM約500 MBで開きます。

1秒未満で再オープン

SHA-256で検証される永続的なバイナリインデックスにより、最大のアーカイブでも1秒未満で再オープンできます。

フィールド指定検索

from:、subject:、date:、body:、has:attachment、label: に加え、完全一致フレーズや、選択肢をまとめるOR(a OR b c は (a OR b) AND c)で、TUIでもコマンドラインでも絞り込めます。

GmailラベルとGoogle Groups

X-Gmail-Labelsを検出し、閲覧・絞り込みできる仮想フォルダーに変換します。Google Takeoutのアーカイブでは、グループのメールボックスがそれぞれのグループ名で表示されます。

会話スレッド

定番のJWZスレッドアルゴリズムで関連メッセージを会話にまとめ、メールボックスにGoogleの会話ID(X-GM-THRID)があればそれを使います。

どこへでもエクスポート

メッセージをEML、CSV、TXT、HTMLで保存し、添付ファイルを個別または一括で抽出できます。

マージと重複排除

複数のMBOXファイルを1つに結合し、オプションの重複排除で二重取り込みを防ぎます。

本格的なターミナルUI

ratatuiベースのTUIで、3つのレイアウトモード、viスタイルの操作、bash・zsh・fish・PowerShell・elvish向けの補完に対応。

マルチプラットフォーム&バイリンガル

ランタイム依存なしの約5 MBの単一バイナリ。Linux、macOS、FreeBSD、Windowsで動作し、英語/スペイン語のインターフェースを備えます。

新着情報

直近3つのリリース。最新の v0.7.1 は 2026年8月20日 に公開されました。

v0.7.1

2026年8月20日

書いたとおりに読まれる検索

  • ORに優先順位ができました。これまでは検索式全体にかかるフラグだったため、どこか一箇所にORがあるだけで、すべての語が「どれか一つ」の扱いになっていました。from:alice OR from:bob subject:請求書 は「どちらかの差出人からの、請求書の件」ではなく、aliceからの全部と、bobからの全部と、差出人を問わず件名に「請求書」を含む全部を返していたのです。6,787通のメールボックスでは、49件と2,102件の差になります。検索式はANDで結ばれたグループの並びになり、各グループはORで結ばれた語の並びで、ORは2つの語を同じグループに入れるためのものになりました。a OR b c は (a OR b) AND c と読みます。括弧は相変わらずありません。
  • after:X before:Y は表現できませんでした。検索式が日付フィルターを1つしか持てず、2つ目が黙って1つ目を上書きしてbefore:だけが残っていたためです。入力の半分が何も言われずに捨てられていました。日付とサイズのフィルターは積み重なるようになり、size:>1mb size:<5mb も本当の範囲指定として働きます。
  • after: はその日自身を含むようになり、before: は従来どおりその日を含みません。つまり after:2024-01-01 before:2025-01-01 はちょうど2024年の1年間です。Gmailの演算子と同じ半開区間の解釈で、もともと両端を含む date:A..B とも整合します。2つのマニュアルと2つのREADMEに、優先順位の規則と日付の境界を明記しました。テストを23件追加(合計234件)。
リリースノート v0.7.1

v0.7.0

2026年8月20日

Google Takeoutアーカイブのもう半分

  • Google GroupsのメールボックスもGmailの書き出しと同じように開けるようになりました。Takeoutのアーカイブに入っているmboxは1種類ではなく2種類です。Gmailの書き出しに加えて、アカウントが所有する各グループが Groups/googlegroups.com/<グループ>@googlegroups.com/topics.mbox として出力されます(フォルダー名もファイル名もアカウントの言語に翻訳されます)。開発に使った実際のアーカイブでは、これが書き出し全体で最大のファイルで、636 MB・6,787通。Gmailのmboxは292 MBでした。
  • GroupsのメールのFrom行の日付が、でっち上げの日付になることはなくなりました。Google Groupsはタイムゾーンのオフセットを年より前に書くため(Thu Apr 16 09:53:04 +0000 2015)asctimeの形式に合致せず、読み取れるDate:ヘッダーがないメールは最後の手段の解析に回り、もっともらしいが誤った2000-09-16が返っていました。エラーは出ず、並び順と日付での絞り込みだけが壊れていたのです。
  • グループはサイドバーの仮想ラベルとして表示されるので、ラベルのパネルがGmail側だけでなくTakeoutアーカイブ全体で使えます。メールボックスの名前も「topics」ではなく、実際にそれを特定するグループ名(<グループ>@googlegroups.com)になりました。
  • 会話のまとめ方が、件名ではなく、存在する場合はGoogleの実際の会話ID(X-GM-THRID)基準になりました。基準にしたメールボックスではスレッド数が1,927から1,958になり、最大のスレッドからは無関係な7通が外れました。
  • 以前からの不具合も2つ直しました。Message-IDが重複したメールがスレッド表示から消える問題と、--force とexportの --format が同時に -f を取り合っていた問題です。更新前に知っておきたい点として、インデックスの形式が変わるため、既存の .mboxshell.idx はメールボックスを最初に開いたときに自動で作り直されます。
リリースノート v0.7.0

v0.6.2

2026年8月7日

追跡できる結合と、実物に合ったドキュメント

  • merge --source-header が、あなたの知っているメールボックス名を記録するようになりました。Apple Mailはメールボックスを「Inbox.mbox」というフォルダーとして書き出し、その中に文字どおり「mbox」という名前のファイルを置くため、すべてのメールに X-Mbox-Source: mbox が付き、このヘッダー唯一の目的が果たせませんでした。名前が重なるメールボックスはフォルダー名で区別されます。
  • ドキュメントには存在しない merge --dedup が書かれていました。重複排除は既定で有効で、実際のフラグは --no-dedup です。2つのREADMEと2つのマニュアルを修正し、0.6.1で無記載のまま出た --source-header も説明を追加しました。
  • 結合サマリーの「Tagged with source」だけが英語で固定されていましたが、他の行と同様に言語カタログを通すようになりました。テストを7件追加(合計202件)。
リリースノート v0.6.2
変更履歴をすべて見る

コマンド一つで

mboxshell
$ mboxshell archive.mbox
# 対話型ターミナルUIを開く
$ mboxshell search archive.mbox "from:jane has:attachment"
# コマンドラインから直接検索
$ mboxshell export archive.mbox -f eml -o out/
# メッセージをEML・CSV・TXT・HTMLにエクスポート
$ mboxshell merge a.mbox b.mbox -o all.mbox --source-header
# ファイルを結合(重複は既定で除去、残すには --no-dedup)し、各メールの出所のメールボックスを記録
$ mboxshell attachments archive.mbox -o files/
# すべての添付ファイルを一括抽出

インストール

リリースページからLinux・macOS・FreeBSD・Windows向けのビルド済みバイナリを入手するか、Cargoで自分でビルドできます:

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

Mbox Viewerを支えるオープンソースエンジン

MacとWindows向けのMbox ViewerはmboxShellから生まれました。アプリは同じ発想——あらゆるサイズのMBOXファイルを完全オフラインで読む——を、検索・ラベル・スレッド・EML対応を備えた洗練されたネイティブUIで実現します。ターミナル派なら、mboxShellは無料でMITライセンスです。

github.com/dcarrero/mboxshell