Skip to content
Mbox Viewer

mboxShell

A ferramenta de terminal gratuita por trás do Mbox Viewer. Abra, pesquise e exporte arquivos MBOX de qualquer tamanho — direto do seu shell, no Linux, macOS, FreeBSD e Windows.

Última v0.7.1 Livre e de código aberto Escrito em Rust MIT
mboxshell
mboxShell rodando em um terminal, mostrando um arquivo MBOX com lista de mensagens, pastas e painel de leitura.

Um kit MBOX completo no seu terminal

Tudo o que você precisa para trabalhar com enormes arquivos de e-mail — ler, pesquisar, encadear e exportar — sem interface gráfica e sem nuvem.

Qualquer tamanho

Um parser de streaming com buffer de 1 MB abre backups do Gmail Takeout com mais de 50 GB mantendo a RAM em torno de 500 MB.

Reabertura instantânea

Um índice binário persistente — verificado com SHA-256 — reabre até o maior arquivo em menos de um segundo.

Busca por campos

Filtre com from:, subject:, date:, body:, has:attachment e label:, além de frases exatas e um OR que agrupa alternativas: a OR b c se lê como (a OR b) AND c — na TUI ou pela linha de comando.

Etiquetas do Gmail e Google Groups

Detecta X-Gmail-Labels e as transforma em pastas virtuais para navegar e filtrar. Em um arquivo do Google Takeout, cada caixa do Groups aparece com o nome do seu grupo.

Encadeamento de conversas

Agrupa mensagens relacionadas em conversas com o clássico algoritmo de encadeamento JWZ, usando o identificador de conversa do Google (X-GM-THRID) quando a caixa o traz.

Exporte para qualquer lugar

Salve mensagens como EML, CSV, TXT ou HTML e extraia anexos individualmente ou em lote.

Mesclar e desduplicar

Combine vários arquivos MBOX em um, com desduplicação opcional para não importar nada duas vezes.

Interface de terminal completa

Uma TUI baseada em ratatui com três modos de layout, navegação estilo vi e autocompletar para bash, zsh, fish, PowerShell e elvish.

Multiplataforma e bilíngue

Um único binário de ~5 MB sem dependências de execução. Funciona no Linux, macOS, FreeBSD e Windows, com interface em inglês e espanhol.

Novidades

As três versões mais recentes. A última, v0.7.1, saiu em 20 de agosto de 2026.

v0.7.1

20 de agosto de 2026

Buscas que significam o que você escreveu

  • OR agora tem precedência. Era uma marca da consulta inteira, então um único OR em qualquer ponto transformava todos os termos em alternativas: from:ana OR from:luis subject:fatura não significava «de um ou de outro, sobre faturas» — devolvia tudo de ana, tudo de luis e tudo que tivesse «fatura» no assunto, viesse de quem viesse. Numa caixa de 6.787 mensagens, isso é a diferença entre 49 resultados e 2.102. Uma consulta agora é uma lista de grupos unidos por AND, cada grupo uma lista de termos unidos por OR, e OR é o que coloca dois termos no mesmo grupo: a OR b c se lê como (a OR b) AND c. Parênteses continuam sem existir.
  • after:X before:Y era impossível de expressar. A consulta guardava um único filtro de data, então o segundo substituía o primeiro sem avisar e só o before: sobrevivia — metade do que você digitava era descartada em silêncio. Os filtros de data e de tamanho agora se acumulam, o que também transforma size:>1mb size:<5mb numa faixa de verdade.
  • after: já inclui o próprio dia e before: continua excluindo o seu, então after:2024-01-01 before:2025-01-01 é exatamente o ano de 2024 — a leitura semiaberta que os operadores do Gmail usam, coerente com date:A..B, que já era inclusivo. Os dois manuais e os dois READMEs documentam a precedência e os limites de data. 23 testes novos (234 no total).
Notas da versão v0.7.1

v0.7.0

20 de agosto de 2026

A outra metade de um arquivo do Google Takeout

  • As caixas do Google Groups agora abrem como qualquer outra. Um arquivo do Takeout contém dois tipos de mbox, não um: além do export do Gmail, cada grupo do qual a conta é dona sai como Groups/googlegroups.com/<grupo>@googlegroups.com/topics.mbox, com nomes de pasta e de arquivo traduzidos para o idioma da conta. No arquivo usado no desenvolvimento, esse era o maior arquivo de todo o export: 636 MB e 6.787 mensagens, contra 292 MB da mbox do Gmail.
  • A data do envelope From de uma mensagem do Groups não vira mais uma data inventada. O Google Groups escreve o fuso horário antes do ano (Thu Apr 16 09:53:04 +0000 2015), o que o asctime não aceita, então uma mensagem sem cabeçalho Date: legível caía numa análise de último recurso que devolvia um 2000-09-16 plausível, mas falso — sem erro nenhum, só a ordenação e os filtros de data corrompidos.
  • O grupo aparece como etiqueta virtual na barra lateral, então o painel de etiquetas vale para todo o arquivo do Takeout, e não só para a metade do Gmail. E a caixa deixou de ser exibida como «topics»: passa a levar o nome do grupo (<grupo>@googlegroups.com), que é o que de fato a identifica.
  • As conversas são agrupadas pelo identificador real de conversa do Google (X-GM-THRID) quando existe, em vez de pelo assunto. Na caixa de referência isso passou de 1.927 para 1.958 conversas, e a maior delas soltou 7 mensagens que nunca foram dela.
  • Dois bugs antigos foram embora: uma mensagem com Message-ID repetido não some mais da visão por conversas, e a opção curta -f, disputada ao mesmo tempo por --force e pelo --format do export, agora pertence a uma opção de cada vez. Vale saber antes de atualizar: o formato do índice muda, então os .mboxshell.idx existentes se reconstroem sozinhos na primeira abertura.
Notas da versão v0.7.0

v0.6.2

7 de agosto de 2026

Mesclagens rastreáveis e documentação que bate com a ferramenta

  • merge --source-header agora grava o nome de caixa que você conhece. O Apple Mail exporta uma caixa como pasta "Inbox.mbox" com um arquivo chamado literalmente "mbox", então toda mensagem saía com X-Mbox-Source: mbox — inútil para a única coisa que o cabeçalho faz. Caixas que teriam o mesmo nome são diferenciadas pela pasta.
  • A documentação descrevia um merge --dedup que não existe: a desduplicação vem ligada por padrão e a opção real é --no-dedup. Os dois READMEs e os dois manuais foram corrigidos, e --source-header — que saiu sem documentação na 0.6.1 — já está explicado.
  • A linha do resumo "Tagged with source" estava fixa em inglês enquanto todas as outras eram traduzidas — agora também passa pelo catálogo. 7 testes novos (202 no total).
Notas da versão v0.6.2
Ver o changelog completo

A um comando de distância

mboxshell
$ mboxshell archive.mbox
# Abre a interface de terminal interativa
$ mboxshell search archive.mbox "from:jane has:attachment"
# Pesquisa direto da linha de comando
$ mboxshell export archive.mbox -f eml -o out/
# Exporta mensagens para EML, CSV, TXT ou HTML
$ mboxshell merge a.mbox b.mbox -o all.mbox --source-header
# Mescla arquivos — duplicados removidos por padrão (--no-dedup para mantê-los) — anotando de qual caixa veio cada mensagem
$ mboxshell attachments archive.mbox -o files/
# Extrai todos os anexos de uma vez

Instale

Baixe um binário pré-compilado para Linux, macOS, FreeBSD ou Windows na página de versões, ou compile você mesmo com Cargo:

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

O motor de código aberto por trás do Mbox Viewer

O Mbox Viewer para Mac e Windows nasceu do mboxShell. O app leva a mesma ideia — ler arquivos MBOX de qualquer tamanho, totalmente offline — a uma interface nativa caprichada, com busca, etiquetas, encadeamento e suporte a EML. Prefere o terminal? O mboxShell é livre e licenciado sob MIT.

github.com/dcarrero/mboxshell