Skip to content
Mbox Viewer
thunderbirdmboxarchives

Como dividir um arquivo grande de caixa do Thunderbird sem perder e-mails

Uma pasta do Thunderbird é um único arquivo mbox e, depois de quinze anos, pesa mais que o disco onde começou. Veja como cortá-la em caixas menores — com o Mbox Viewer ou com o mboxShell, nossa ferramenta de terminal de código aberto — e, principalmente, como provar depois que não falta nenhuma mensagem.

David Carrero ·

Uma pasta do Thunderbird não é uma pasta. É um único arquivo com todas as mensagens que você já recebeu, uma atrás da outra, na ordem em que chegaram. O projeto envelheceu surpreendentemente bem — é por isso que uma caixa escrita em 2004 ainda abre hoje —, mas tem uma consequência que se descobre tarde: depois de quinze anos, sua caixa de entrada é um único objeto de 14 GB, e tudo o que você queira fazer com uma parte dela implica mover o conjunto inteiro.

Cedo ou tarde aparece o motivo para dividir. Um advogado pede a correspondência de um ano. Você sai de uma empresa e só o e-mail do projeto é seu. Você quer o trecho 2008-2015 num disco externo e o resto em uso diário. Ou a pasta simplesmente ficou grande demais e você a quer em fatias que possa fazer backup separadamente.

O conselho que se lê em fóruns é cortar o arquivo com split, com um editor de texto ou com csplit em /^From /. Não faça isso. Aqui está o porquê — e o que fazer no lugar.

Por que cortar um mbox na mão dá errado

Um arquivo mbox é uma concatenação pura: cada mensagem começa com uma linha iniciada por From — a linha de envelope, não o cabeçalho From: — e vai até a próxima. Esse é o formato inteiro.

Corte esse arquivo num byte ou numa linha qualquer e você vai cair no meio de uma mensagem praticamente sempre. A primeira parte termina com metade dos cabeçalhos; a segunda começa com um corpo sem cabeçalho nenhum, que já não é uma mensagem, só texto. Os dois arquivos parecem certos — abrem, têm o tamanho esperado — e o estrago só aparece anos depois, no dia em que você procura justamente aquele e-mail.

Cortar pelo padrão From é mais esperto e continua inseguro. A família mbox escapa uma linha do corpo que comece com From escrevendo-a como >From , mas nem todo programa que já escreveu na sua caixa fez isso, e uma resposta citada pode perfeitamente conter uma linha começada por “From ”. Divida pelo padrão e essa mensagem se rasga em duas: um e-mail vira dois meios e-mails, e nada avisa você.

Que é o problema de fundo de todos os caminhos manuais: eles não dão nenhuma contagem. Você não sabe quantas mensagens entraram, quantas saíram, nem se os números batem. O jeito seguro de dividir uma caixa é tratá-la como correio e não como texto — analisar, selecionar mensagens inteiras e reescrevê-las — e depois conferir a aritmética.

Antes de cortar: três coisas sobre os arquivos do Thunderbird

Cada caixa vive como um arquivo sem extensão dentro do seu perfil:

  • Windows: %APPDATA%\Thunderbird\Profiles\<perfil>\Mail\Local Folders\
  • macOS: ~/Library/Thunderbird/Profiles/<perfil>/Mail/Local Folders/
  • Linux: ~/.thunderbird/<perfil>/Mail/Local Folders/

Lá dentro você encontra INBOX, Sent, Archives e os nomes das suas pastas, cada um ao lado de um arquivo .msf de mesmo nome. O .msf é só o índice do Thunderbird e pode ser ignorado: ele se refaz sozinho. O arquivo sem extensão é o correio em si, em formato mbox padrão. (Há um passeio mais completo nos nossos guias para macOS e Windows.)

Três regras antes de mexer em qualquer coisa:

Feche o Thunderbird. Ele mantém o arquivo aberto e escreve nele; dividir uma caixa que está recebendo mensagens é o caminho certo para terminar com meia mensagem no fim.

Trabalhe numa cópia. Copie o arquivo da caixa para outro lugar — a área de trabalho serve — e divida a cópia. Nunca tire o original do perfil: o Thunderbird vai dar a pasta como perdida.

Compacte antes, ou saiba o que está levando. Quando você apaga uma mensagem, o Thunderbird a marca e a deixa no arquivo; os bytes só somem quando a pasta é compactada. É por isso que uma pasta que mostra 4.000 mensagens pode ocupar 9 GB. Se dividir sem compactar, essas mensagens apagadas vão junto para os pedaços — e são e-mails perfeitamente legíveis. Clique com o botão direito na pasta → Compactar se não as quiser, e pule essa etapa de propósito se quiser.

Passo 1 — medir antes de cortar

Antes de decidir onde ficam os cortes, veja o que existe de fato no arquivo. O mboxShell, nossa ferramenta de terminal de código aberto (MIT), lê direto os arquivos sem extensão do Thunderbird, não tem limite de tamanho e nunca escreve no arquivo que abre:

$ mboxshell stats INBOX

  File                 INBOX
  File size            9.41 GiB
  Messages             128,455
  Date range           2004-02-11 — 2026-08-19
  Index size           14.2 MiB
  Indexing time        48.31s
  With attachments     19,880 (15.5%)
  Duplicates           312 (128,143 Unique IDs)

Anote esses dois números: quantas mensagens e qual a faixa de datas. É contra eles que você vai conferir no final.

Agora planeje os cortes sem produzir nada. O search conta uma fatia para você, então dá para testar limites até os pedaços ficarem do tamanho desejado:

$ mboxshell search INBOX "after:2004-01-01 before:2010-01-01" --json | head -3
{
  "result_count": 31204,

after: inclui o próprio dia e before: exclui o dele, então faixas consecutivas escritas assim encaixam exatamente: sem buracos e sem sobreposição. É essa propriedade que faz a conferência final funcionar. A sintaxe de busca completa também permite fatiar por remetente, por tamanho ou por anexo em vez de por data, se for disso que a sua divisão trata.

Passo 2 — cortar a caixa

Com o Mbox Viewer, no Mac ou no Windows, dividir é a exportação que você já conhece:

  1. Abra a cópia da caixa — o arquivo sem extensão, sem renomear nada.
  2. Busque a fatia: after:2004-01-01 before:2010-01-01.
  3. Selecione as mensagens: clique na primeira linha e Shift+clique na última para pegar a faixa inteira.
  4. Arquivo → Exportar (⌘E) → MBOX. No Windows é Exportar → Para MBOX…, e ali dá para pular o passo 3: sem seleção, ele exporta tudo o que a busca deixou na tela.

Você recebe uma caixa nova, sugerida como INBOX-selection.mbox, com exatamente aquelas mensagens. Elas são copiadas byte a byte, então o resultado é uma caixa válida que qualquer cliente abre, e o arquivo que você abriu nunca é tocado: o app é estritamente somente leitura. Repita para cada fatia. Exportar para MBOX faz parte do nível gratuito; o que o gratuito limita é o tamanho da caixa que você abre, que é 1 GB.

Só com o mboxShell o caminho é outro, e vale dizer com todas as letras: o mboxShell exporta para EML, CSV, texto e HTML, mas não escreve um mbox parcial. Então a via só-terminal é exportar cada fatia como uma pasta de arquivos EML e deixar o Thunderbird reconstruir a caixa na importação:

$ mboxshell export INBOX --format eml --query "after:2004-01-01 before:2010-01-01" --output ./2004-2009/
  Exporting 31204 message(s) as eml to ./2004-2009/
  Exported 31204 .eml files

É um caminho mais longo, mas é grátis, não tem limite de tamanho e dá para automatizar. A outra metade do trabalho — juntar caixas — essa sim o mboxShell escreve em mbox: mboxshell merge a.mbox b.mbox -o combinado.mbox.

Passo 3 — provar que nada se perdeu

É o passo que separa uma divisão de uma aposta, e quase ninguém dá.

Conte cada pedaço. Rode stats em cada fatia e some as mensagens. O total tem que bater com o que o original dizia. Se ficar curto, um limite está errado; se passar, duas fatias se sobrepõem.

Confira as faixas de datas. A faixa de cada pedaço tem que caber dentro do limite pedido, e os pedaços têm que se encadear sem buraco entre um e o seguinte.

Reconstrua o original e compare. Este é o teste decisivo. Junte os pedaços — a desduplicação por Message-ID vem ligada por padrão — e leia o resumo:

$ mboxshell merge 2004-2009.mbox 2010-2017.mbox 2018-2026.mbox -o rebuilt.mbox

  Merge complete:
  Input files               3
  Total messages            128,455
  Duplicates removed        0
  Output size               9.41 GiB
  Output file               rebuilt.mbox

Um “Total messages” igual ao do original e “Duplicates removed” em zero dizem, juntos, que suas fatias eram completas e disjuntas: cada mensagem está em uma, e só uma, delas. Se aparecerem duplicatas, suas faixas se sobrepõem. Se o total for menor, algo caiu entre dois cortes. Nos dois casos você descobre antes de apagar qualquer coisa — que é justamente o objetivo.

Só então é razoável guardar o original longe. E mesmo assim: guarde-o. Discos custam menos que os e-mails que você não consegue recuperar.

Passo 4 — devolver os pedaços ao Thunderbird

Se as fatias vão ficar no Thunderbird como pastas separadas, a extensão gratuita ImportExportTools NG importa um arquivo mbox direto para as Pastas locais como pasta nova — e também sabe importar um diretório de arquivos EML, que é o que fecha a via do mboxShell. Faça isso com o Thunderbird aberto, pela extensão, em vez de largar arquivos no perfil na mão: assim o Thunderbird constrói o próprio índice .msf e sabe o que tem.

E se os pedaços não forem voltar — o ano que vai para o advogado, o arquivo que fica no disco externo —, não precisam voltar. São arquivos mbox padrão. O Mbox Viewer abre, o mboxShell abre, e o que ler e-mail daqui a vinte anos também vai abrir, o que não se pode dizer da maioria dos formatos que vieram depois.

O que não fazer

  • Não apague o original enquanto a aritmética do passo 3 não fechar.
  • Não divida por bytes nem por linhas com split, dd ou um editor de texto, e nem abra uma caixa de vários gigas num editor.
  • Não renomeie nem mova o original dentro do perfil. O Thunderbird identifica as pastas pelo nome do arquivo.
  • Não confie num pedaço que você não contou. Um arquivo que abre não é a mesma coisa que um arquivo completo.

Abra seu arquivo com o Mbox Viewer

App nativo para Mac e Windows. Processa arquivos MBOX e EML de qualquer tamanho, totalmente offline.