Skip to content
Mbox Viewer
mbox형식아카이브

MBOX 파일이란 무엇일까요?

MBOX 파일은 여러 통의 이메일을 하나씩 이어 붙여 담아 둔 일반 텍스트 파일이고, 각 메시지는 "From "으로 시작하는 줄에서 시작합니다. Gmail을 Google Takeout으로 내보내면 받게 되는 것이자, Thunderbird와 Apple Mail이 메일을 보관하는 방식입니다.

David Carrero ·

MBOX 파일은 여러 통의 이메일을 하나씩 이어 붙여 저장한 일반 텍스트 파일입니다. 각 메시지는 From 과 공백으로 시작하는 줄에서 시작합니다. 형식이라고 할 것은 그게 전부입니다. Gmail을 Google Takeout으로 내보내면 받게 되는 것이고, Thunderbird와 Apple Mail이 디스크에 메일을 보관하는 방식이기도 합니다.

다운로드 폴더에 하나 놓여 있고 그냥 읽고 싶을 뿐이라면 Mac에서 여는 방법이나 Windows에서 여는 방법으로 건너뛰세요. 지금 손에 쥔 것이 정확히 무엇인지 알고 싶다면 계속 읽으시면 됩니다.

왜 그냥 텍스트 파일일까요?

1970년대 초에 생겨났기 때문입니다. 그때 메일박스란 프로그램이 뒤에 계속 덧붙여 쓰는 파일이었습니다. 메일박스의 줄임말인 MBOX는 설계된 적이 없습니다. 그냥 쌓여서 만들어졌습니다. 문서로 된 명세는 수십 년이 지나서야 RFC 4155로 나왔고, 그마저도 이 파일을 인터넷으로 주고받는 방법을 설명하려고 형식을 기술한 쪽에 가깝습니다.

텍스트 편집기로 열면 소프트웨어 없이도 자기 메일을 읽을 수 있습니다. 이 사실 하나만으로도 알아 둘 가치가 있습니다. 오늘 쓰는 앱이 어떻게 되든 아카이브가 그 앱에 묶이지는 않는다는 뜻이니까요. 50년치 도구들이 이 형식을 읽을 수 있고, 여러 서비스가 여전히 이 형식으로 내보내는 이유도 정확히 그것입니다.

메시지가 어디서 끝나는지는 어떻게 알까요?

살아남았다는 게 신기할 만큼 허술해 보이는 관례로 압니다. From 으로 시작하는 줄이 새 메시지의 시작을 뜻합니다.

그러면 뻔한 문제가 따라옵니다. 인용된 답장이나 코드 예제처럼 본문 안에 그런 식으로 시작하는 줄이 있으면 어떻게 될까요? 그 질문에 대한 답들이 바로 이 형식의 변종들입니다. mboxo는 문제가 되는 줄 앞에 >를 붙입니다. mboxrd는 같은 일을 하면서 이미 >From으로 시작하던 줄까지 이스케이프해, 원래대로 되돌릴 수 있게 만듭니다. mboxclmboxcl2는 이스케이프를 아예 하지 않고 대신 각 메시지의 길이를 Content-Length 헤더에 적어 둡니다.

내 파일이 어느 쪽인지 신경 쓸 일은 거의 없습니다. 딱 한 경우에만 문제가 됩니다. 도구가 잘못 판단해 메시지를 중간에서 잘라 버렸을 때입니다. 받은 적도 없는 개수의 메시지가 든 메일박스가 손에 남습니다.

메시지 한 통 안에는 무엇이 있을까요?

전부, 텍스트로 인코딩되어 들어 있습니다. 맨 위에 헤더가 있고 — From, To, Subject, Date에 기술적인 항목이 잔뜩 붙습니다 — 빈 줄 하나를 두고 그 아래가 본문입니다.

HTML 버전이 있거나 사진이 첨부되어 있다면, 그것들도 같은 메시지 안의 MIME 파트이고, 바이너리 파일은 텍스트로 살아남기 위해 base64로 인코딩됩니다. 사진 몇백 장이 든 메일박스가 그토록 거대한 이유가 여기 있습니다. base64는 파일을 원래보다 3분의 1가량 키우고, 그 전부가 하나의 .mbox 안에 들어앉아 있습니다.

MBOX 파일은 어디서 올까요?

거의 모든 경우가 네 곳에서 나옵니다.

  • Google Takeout. Gmail을 내보내면 MBOX로 옵니다. 거대한 파일 하나이거나, 메일박스가 아주 크면 여러 개입니다. Gmail 라벨도 함께 살아남아, 내보내기가 기록하는 헤더에 담깁니다.
  • Thunderbird. Thunderbird에서 보이는 모든 폴더가 프로필 폴더 안의 MBOX 파일입니다. 그 옆에 있는 .msf 인덱스 파일은 Thunderbird만 필요로 합니다.
  • Apple Mail. 메일박스를 내보내면 헷갈리는 결과가 나옵니다. Inbox.mbox라는 폴더 안에 말 그대로 mbox라는 이름의 파일이 들어 있습니다. 폴더는 포장이고, 그 안의 파일이 표준 MBOX입니다.
  • 메일 서버. Postfix, Dovecot과 그 친척들은 수십 년째 이 방식으로 메일을 저장해 왔고, 오래된 백업에는 이런 파일이 가득합니다.

그래서 어떻게 열까요?

보통은 더블클릭으로 안 됩니다. macOS도 Windows도 그 확장자에 등록된 프로그램을 기본으로 갖고 있지 않아서, 아무 일도 일어나지 않거나 Apple Mail이 가져오기를 시도합니다. 후자는 완전히 다른 이야기입니다. 가져오기는 모든 메시지를 Mail 자체 저장소로 복사하고, 열기는 파일에 아예 손대지 않습니다.

필요한 것은 파일을 있는 자리에서 열고 그대로 두는 리더입니다. Mbox Viewer가 Mac과 Windows에서 하는 일이 그것입니다. 파일을 메모리에 통째로 올리는 대신 스트리밍으로 훑기 때문에, 메시지 50만 통 남짓한 50 GB 아카이브가 5분 안에 열리고 RAM은 600 MB 아래에 머뭅니다. 그리고 인덱스를 만들어 두므로 그다음부터는 다시 여는 데 1초가 걸리지 않습니다. 철저하게 읽기 전용입니다. 1 GB까지의 메일박스는 아무것도 사지 않아도 열립니다.

먼저 변환해야 할까요?

읽는 것이 목적이라면 거의 확실히 아닙니다. 변환은 다른 프로그램이 메일을 다른 모양으로 받아야 할 때만 의미가 있고, 그런 경우는 검색 결과가 암시하는 것보다 훨씬 드뭅니다. 사람들이 진짜로 필요로 하는 변환은 대개 반대 방향입니다. Outlook 아카이브를 MBOX 옮기는 쪽이고, 여기에는 별도의 가이드가 있습니다.

짧게 정리하면

From 줄로 구분된 이메일이 가득 든 텍스트 파일입니다. 오래되었고 단순하며, 수십 년이 지난 지금도 메일을 읽을 수 있는 이유가 바로 그 단순함입니다. 곤란한 쪽은 형식이었던 적이 없습니다. 운영체제가 이 파일을 어떻게 다뤄야 할지 모른다는 것, 그리고 파일이 커지면 대부분의 리더가 나가떨어진다는 것이 문제입니다.


더 많은 정의는 용어집에 있습니다. MBOX 자체부터 시작하세요.

Mbox Viewer로 아카이브 열기

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