---
title: "메일을 잃지 않고 거대한 썬더버드 메일함 파일을 나누는 방법 — Mbox Viewer"
description: "썬더버드의 폴더는 mbox 파일 하나입니다. 15년이 지나면 처음 담겼던 디스크보다 무거워지죠. Mbox Viewer로, 그리고 오픈소스 터미널 도구 mboxShell로 이 파일을 더 작은 메일함으로 자르는 방법과, 무엇보다 단 한 통도 사라지지 않았음을 나중에 증명하는 방법을 정리했습니다."
url: https://mboxviewerpro.com/ko/blog/how-to-split-large-thunderbird-mbox-files/
language: ko
updated: 2026-08-25
source: Mbox Viewer
---

[모든 게시물](https://mboxviewerpro.com/ko/blog/)

`thunderbird` `mbox` `archives`

# 메일을 잃지 않고 거대한 썬더버드 메일함 파일을 나누는 방법

썬더버드의 폴더는 mbox 파일 하나입니다. 15년이 지나면 처음 담겼던 디스크보다 무거워지죠. Mbox Viewer로, 그리고 오픈소스 터미널 도구 mboxShell로 이 파일을 더 작은 메일함으로 자르는 방법과, 무엇보다 단 한 통도 사라지지 않았음을 나중에 증명하는 방법을 정리했습니다.

[David Carrero](https://mboxviewerpro.com/ko/author/) · 2026년 8월 25일

썬더버드의 폴더는 폴더가 아닙니다. 지금까지 받은 모든 메시지가 도착한 순서대로 하나씩 이어 붙은, 단 하나의 파일입니다. 이 설계는 놀라울 만큼 잘 늙었습니다 — 2004년에 쓰인 메일함이 오늘도 열리는 이유죠 — 하지만 뒤늦게 깨닫게 되는 결과가 하나 있습니다. 15년이 지나면 받은 편지함은 14 GB짜리 단일 덩어리가 되고, 그중 *일부*로 무언가를 하려 할 때마다 전체를 움직여야 한다는 것입니다.

언젠가는 쪼갤 이유가 생깁니다. 변호사가 1년치 서신을 요구합니다. 회사를 떠나는데 내 것은 프로젝트 메일뿐입니다. 2008~2015년 구간은 외장 디스크에 두고 나머지만 일상적으로 쓰고 싶습니다. 아니면 그저 폴더가 감당하기 어려워져서, 따로따로 백업할 수 있는 조각으로 나누고 싶을 뿐일 수도 있습니다.

포럼에서 흔히 보는 조언은 `split`으로 자르라거나, 텍스트 편집기로 자르라거나, `/^From /` 패턴에 `csplit`을 쓰라는 것입니다. 그러지 마세요. 이유와, 대신 할 일을 정리합니다.

## mbox를 손으로 자르면 어긋나는 이유

[mbox](https://mboxviewerpro.com/ko/glossary/mbox/) 파일은 그냥 이어 붙인 것입니다. 각 메시지는 `From` 으로 시작하는 줄 — `From:` 헤더가 아니라 *엔벨로프* 줄 — 에서 시작해 다음 엔벨로프 줄까지 이어집니다. 형식이라고 할 만한 건 그게 전부입니다.

이 파일을 임의의 바이트나 줄에서 자르면 거의 언제나 메시지 한가운데에 떨어집니다. 앞부분은 헤더의 절반에서 끝나고, 뒷부분은 헤더가 하나도 없는 본문에서 시작합니다 — 더는 메시지가 아니라 그냥 텍스트죠. 두 파일 모두 *멀쩡해 보입니다*. 열리고, 크기도 그럴듯합니다. 그리고 피해는 몇 년 뒤, 하필 그 한 통을 찾는 날에야 드러납니다.

`From` 패턴으로 자르는 건 더 영리하지만 여전히 안전하지 않습니다. mbox 계열은 본문에서 `From` 으로 시작하는 줄을 `>From` 으로 바꿔 이스케이프하지만, 당신의 메일함에 글을 써 온 모든 프로그램이 그렇게 했다는 보장은 없습니다. 게다가 인용된 답장에는 “From “으로 시작하는 줄이 얼마든지 들어 있을 수 있죠. 패턴으로 나누면 바로 그 메시지가 둘로 찢어집니다. 메일 한 통이 반쪽짜리 두 통이 되고, 아무도 알려주지 않습니다.

이것이 모든 수작업 방식의 진짜 문제입니다. **어떤 방식도 개수를 알려주지 않습니다.** 몇 통이 들어갔는지, 몇 통이 나왔는지, 둘이 맞는지 알 수 없습니다. 메일함을 안전하게 나누는 방법은 그것을 텍스트가 아니라 메일로 다루는 것 — 파싱하고, 메시지 단위로 고르고, 다시 써내는 것 — 그리고 마지막에 산수를 확인하는 것입니다.

## 자르기 전에: 썬더버드 파일에 대한 세 가지

메일함 하나하나는 프로필 안에 확장자 없는 파일로 들어 있습니다.

-   **Windows:** `%APPDATA%\Thunderbird\Profiles\<프로필>\Mail\Local Folders\`
-   **macOS:** `~/Library/Thunderbird/Profiles/<프로필>/Mail/Local Folders/`
-   **Linux:** `~/.thunderbird/<프로필>/Mail/Local Folders/`

그 안에는 `INBOX`, `Sent`, `Archives`와 직접 만든 폴더 이름들이 있고, 각각 옆에 같은 이름의 `.msf` 파일이 있습니다. `.msf`는 썬더버드의 색인일 뿐이라 무시해도 됩니다 — 필요하면 다시 만들어집니다. 확장자 없는 파일이 바로 메일 본체이고, 표준 mbox 형식입니다. (더 자세한 안내는 [macOS](https://mboxviewerpro.com/ko/guides/how-to-open-thunderbird-mbox-on-mac/)와 [Windows](https://mboxviewerpro.com/ko/guides/how-to-open-thunderbird-mbox-on-windows/) 가이드에 있습니다.)

무엇이든 건드리기 전에 세 가지 규칙이 있습니다.

**썬더버드를 종료하세요.** 썬더버드는 파일을 열어 둔 채 계속 씁니다. 지금도 메시지가 덧붙고 있는 메일함을 나누면 끝에 반쪽 메시지가 남기 마련입니다.

**사본으로 작업하세요.** 메일함 파일을 다른 곳으로 — 바탕화면이면 충분합니다 — 복사한 뒤 사본을 나누세요. 원본을 프로필 밖으로 옮기면 안 됩니다. 썬더버드는 그 폴더가 사라졌다고 판단합니다.

**먼저 압축하거나, 무엇을 가져가는지 알고 계세요.** 메시지를 지워도 썬더버드는 표시만 하고 파일 안에 남겨 둡니다. 바이트가 사라지는 건 폴더를 압축(정리)할 때입니다. 4,000통이라고 표시되는 폴더가 9 GB일 수 있는 이유죠. 압축하지 않고 나누면 그 지워진 메시지들이 조각에 그대로 따라옵니다 — 완벽하게 읽히는 메일로요. 원하지 않는다면 폴더를 오른쪽 클릭 → **압축**, 원한다면 이 단계를 의도적으로 건너뛰세요.

## 1단계 — 자르기 전에 재기

어디서 자를지 정하기 전에, 파일 안에 실제로 무엇이 있는지 보세요. 오픈소스(MIT) 터미널 도구 [mboxShell](https://mboxviewerpro.com/ko/mboxshell/)은 썬더버드의 확장자 없는 파일을 그대로 읽고, 크기 제한이 없으며, 자신이 연 파일에는 절대 쓰지 않습니다.

```
$ 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)
```

이 두 숫자 — **메시지 수**와 **날짜 범위** — 를 적어 두세요. 마지막에 대조할 대상입니다.

이제 아무것도 만들지 않은 채로 자를 지점을 설계합니다. `search`가 구간의 개수를 세어 주므로, 조각이 원하는 크기가 될 때까지 경계를 바꿔 볼 수 있습니다.

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

`after:`는 그날을 포함하고 `before:`는 그날을 제외합니다. 그래서 이렇게 쓴 연속 구간들은 빈틈도 겹침도 없이 정확히 맞닿습니다. 마지막 검증이 성립하는 것도 바로 이 성질 덕분입니다. [전체 검색 문법](https://mboxviewerpro.com/ko/guides/search-syntax-cheat-sheet/)을 쓰면 날짜 대신 보낸 사람, 크기, 첨부로 자를 수도 있습니다. 사실 그쪽이 목적이라면 그편이 빠릅니다.

## 2단계 — 메일함 자르기

**Mbox Viewer**([Mac과 Windows](https://mboxviewerpro.com/ko/features/))에서 나누기는 이미 알고 있는 내보내기 그 자체입니다.

1.  복사한 메일함 파일을 엽니다 — 확장자 없는 그대로, 이름을 바꿀 필요 없습니다.
2.  구간을 검색합니다: `after:2004-01-01 before:2010-01-01`.
3.  메시지를 선택합니다: 첫 줄을 클릭하고 마지막 줄을 Shift+클릭하면 범위 전체가 잡힙니다.
4.  **파일 → 내보내기**(⌘E) → **MBOX**. Windows에서는 **내보내기 → MBOX로…** 이고, 거기서는 3단계를 건너뛸 수 있습니다. 선택이 없으면 검색 결과로 화면에 남아 있는 전부를 내보냅니다.

`INBOX-selection.mbox`라는 이름이 제안되고, 딱 그 메시지들만 담긴 새 메일함 하나가 생깁니다. 바이트 단위로 그대로 복사되므로 결과물은 어떤 메일 프로그램에서도 열리는 올바른 메일함이고, 열었던 파일은 전혀 건드리지 않습니다 — 앱은 철저히 읽기 전용입니다. 구간마다 반복하세요. MBOX로 내보내기는 무료 등급에 포함됩니다. 무료 등급이 제한하는 것은 여는 메일함의 크기이고, 그 값은 1 GB입니다.

**mboxShell만으로** 하려면 경로가 다릅니다. 분명히 말해 두자면, mboxShell은 EML·CSV·텍스트·HTML로 내보내며 부분 mbox는 쓰지 않습니다. 그래서 순수 터미널 경로는 각 구간을 [EML](https://mboxviewerpro.com/ko/glossary/eml/) 파일 폴더로 내보낸 뒤, 가져오기 시점에 썬더버드가 메일함을 다시 짜도록 맡기는 방식입니다.

```
$ 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
```

돌아가는 길이지만 무료이고, 크기 제한이 없으며, 스크립트로 만들 수 있습니다. 일의 나머지 절반 — 메일함을 *합치는* 쪽 — 은 mboxShell이 mbox로 써냅니다: `mboxshell merge a.mbox b.mbox -o merged.mbox`.

## 3단계 — 아무것도 잃지 않았음을 증명하기

나누기와 도박을 가르는 단계이고, 거의 아무도 하지 않는 단계입니다.

**조각마다 세어 보세요.** 각 구간에 `stats`를 돌리고 메시지 수를 더합니다. 합계는 원본이 보고한 수와 같아야 합니다. 모자라면 경계가 잘못 잡힌 것이고, 넘치면 두 구간이 겹친 것입니다.

**날짜 범위를 확인하세요.** 각 조각의 범위는 요청한 경계 안에 들어야 하고, 조각들은 사이에 구멍 없이 머리와 꼬리가 맞물려야 합니다.

**원본을 다시 만들어 비교하세요.** 이것이 결정적인 검사입니다. 조각들을 합치고 — Message-ID 기준 [중복 제거](https://mboxviewerpro.com/ko/glossary/deduplication/)는 기본으로 켜져 있습니다 — 요약을 읽습니다.

```
$ 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
```

`Total messages`가 원본 개수와 같고 `Duplicates removed`가 0이면, 두 사실이 합쳐져 당신의 구간들이 빠짐없고 *동시에* 서로 겹치지 않았음을 말해 줍니다. 즉 모든 메시지가 정확히 한 조각에만 들어 있다는 뜻이죠. 중복이 나오면 범위가 겹친 것이고, 합계가 적으면 무언가가 두 절단 사이로 떨어진 것입니다. 어느 쪽이든 무엇을 지우기 전에 알게 됩니다 — 그게 이 단계의 전부입니다.

거기까지 와서야 원본을 치워도 되겠다는 판단이 섭니다. 그래도 버리지는 마세요. 디스크는 되찾을 수 없는 메일보다 쌉니다.

## 4단계 — 조각을 썬더버드에 되돌리기

조각들을 썬더버드 안에 별도 폴더로 남기려면, 무료 부가 기능 [ImportExportTools NG](https://addons.thunderbird.net/thunderbird/addon/importexporttools-ng/)가 mbox 파일을 로컬 폴더에 새 폴더로 바로 가져옵니다. EML 파일이 담긴 디렉터리도 가져올 수 있어서 mboxShell 경로를 마무리해 줍니다. 파일을 손으로 프로필에 떨어뜨리지 말고, 썬더버드를 켠 채 부가 기능으로 하세요. 그래야 썬더버드가 자기 `.msf` 색인을 만들고 무엇을 갖고 있는지 알게 됩니다.

조각이 돌아갈 필요가 없다면 — 변호사에게 보낼 1년치, 외장 디스크에 둘 보관본 — 굳이 돌려놓지 않아도 됩니다. 전부 표준 mbox 파일이니까요. Mbox Viewer가 열고, mboxShell이 열고, 20년 뒤에 메일을 읽는 무언가도 열 겁니다. 그 뒤에 등장한 형식 대부분에 대해서는 할 수 없는 말이죠.

## 하지 말아야 할 것

-   3단계의 산수가 맞아떨어지기 전에는 **원본을 지우지 마세요**.
-   `split`, `dd`, 텍스트 편집기로 **바이트나 줄 단위로 나누지 마세요**. 수 기가바이트짜리 메일함은 편집기로 여는 것 자체를 피하세요.
-   **프로필 안에서 원본의 이름을 바꾸거나 옮기지 마세요.** 썬더버드는 폴더를 파일 이름으로 식별합니다.
-   **세어 보지 않은 조각을 믿지 마세요.** 열리는 파일과 온전한 파일은 같지 않습니다.

## Mbox Viewer로 아카이브 열기

네이티브 Mac과 Windows 앱. 크기에 상관없이 MBOX 및 EML 파일을 완전히 오프라인으로 스트리밍합니다.

[Mac App Store](https://apps.apple.com/app/mbox-viewer-pro/id6759237715) [Microsoft Store](https://apps.microsoft.com/store/detail/9NW3GVFG7DDB)
