Thunderbird의 MBOX와 Gmail의 MBOX는 같은 파일이 아닙니다
둘 다 올바른 MBOX이고 같은 리더에서 열리지만, 정반대의 원칙으로 정리되어 있습니다. 폴더 대 라벨, 폴더마다 파일 하나 대 전부가 든 파일 하나, 그리고 지웠는데도 아직 그 안에 남아 있는 메일.
둘 다 표준 MBOX이고, 둘 다 같은 리더에서 열립니다. 다른 것은 형식을 둘러싼 나머지 전부입니다. Thunderbird는 폴더마다 파일 하나를 주고 Gmail은 전부가 든 파일 하나를 줍니다. Thunderbird는 폴더로 정리하고 Gmail은 헤더에 저장된 라벨로 정리합니다. 그리고 Thunderbird 파일에는 대개 그 주인이 몇 년 전에 지운 메일이 아직 들어 있습니다.
지금 손에 든 것이 어느 쪽인지 알면, 무엇을 찾게 될지에 대한 기대가 달라집니다.
각각 파일 하나, 아니면 전부 파일 하나
Thunderbird는 폴더마다 MBOX 하나를 둡니다. Inbox, Sent, Archives가 프로필 안에서 저마다 확장자 없는 별개의 파일이고, 옆에는 .msf 인덱스가, 하위 폴더는 같은 이름에 .sbd가 붙은 디렉터리에 들어 있습니다. “메일 전부”를 가지려면 파일 전부가 있어야 합니다.
Google Takeout은 선택한 것이 전부 든 파일 하나를 줍니다. 받은편지함, 보낸편지함, 스팸, 휴지통이 한데 섞여서요. 아주 클 때에만 여러 조각으로 나뉩니다. 빠진 것도 없지만, 나뉜 것도 없습니다.
실질적인 결과는 이렇습니다. 누군가 “Thunderbird 아카이브”라며 파일 하나를 건넸다면, 아마 그중 폴더 하나만 받은 것입니다. 흔한 오해이고, 빠진 폴더가 Sent일 때는 비싼 오해가 됩니다.
폴더 대 라벨
Thunderbird의 폴더는 배타적입니다. 종이 한 장이 서랍 하나에 들어가듯, 메시지는 폴더 하나에 있습니다.
Gmail의 라벨은 그렇지 않습니다. 메시지 하나가 받은편지함에 있으면서 별표가 붙고 영수증 라벨까지 동시에 달릴 수 있고, 보낸편지함과 스팸과 휴지통 자체도 라벨입니다. Takeout은 이것을 표준에 없는 X-Gmail-Labels 헤더 — 메시지마다 붙는 쉼표로 구분된 목록 — 에 담습니다. 그래서 메시지는 한 번만 등장하고, 자기 라벨을 전부 달고 옵니다.
그 헤더를 무시하는 리더는 메시지를 모두 보여 주면서 정리 체계는 통째로 잃어버립니다. 20년치 메일이 구분 없는 목록 하나가 되는 것이죠. Mbox Viewer는 그 헤더를 읽어 사이드바에 라벨을 개수와 함께 되살리고, 검색에서는 label:이 from:을 비롯한 나머지와 나란히 동작합니다.
아직 그 안에 있는, 지운 메일
이 대목은 사람들을 놀라게 하고, 기술적으로 중요한 만큼이나 법적으로도 자주 중요합니다.
Thunderbird는 지운 메시지를 제거하지 않습니다. X-Mozilla-Status에 표시만 하고 넘어가며, 누군가 폴더를 압축하기 전까지 바이트는 그대로 남습니다. 외부 리더가 Mozilla 고유의 플래그를 존중해 줄 이유는 없으니, 파일에 있는 것을 그대로 보여 줍니다. 주인이 2018년에 분명히 지웠다고 확신하는 메일까지요.
상황에 따라 이것은 고마운 복구이기도 하고, 파일이 어디로든 나가기 전에 조심해서 다뤄야 할 문제이기도 합니다. 어느 쪽이든 의식하고 결정하세요. 그 메시지들이 따라가면 안 된다면 먼저 압축하고, 아니라면 남아 있다는 것을 알고서 남겨 두는 것입니다. 그리고 그다음에 메시지 수를 세어, 실제로 무엇을 가지고 있는지 파악하세요.
Takeout 내보내기에는 이에 해당하는 것이 없습니다. 내보낸 시점에 계정에 있던 것이 들어 있고, 휴지통을 요청했다면 거기 있던 것까지 들어 있습니다.
세어 봐도 숫자는 맞지 않습니다
“같은” 메일의 아카이브 두 개를 맞춰 보려 할 때, 위의 모든 것에서 따라 나오는 결과입니다.
- Thunderbird는 많게 셉니다. 폴더를 한 번도 압축하지 않았다면요. 파일을 처음부터 훑고 지나가는 리더는 지운 메시지까지 세니까요.
- Gmail은 설계상 다르게 셉니다. 내가 하나로 여기는 대화가 실제로는 여러 통이고, 각각이 자기 라벨을 갖고 있기 때문입니다.
- 보낸 메일이 사는 곳이 다릅니다. Thunderbird에서는 폴더이고, Gmail에서는 같은 파일에 섞여 든 라벨입니다.
숫자 하나가 필요하다면 원본들을 하나의 메일박스로 합치고 Message-ID로 중복을 걸러 내세요. 양쪽 아카이브에 모두 존재하는 메시지의 사본들이 하나로 접히고, 계산이 맞아떨어지는 방법은 그것뿐입니다.
어느 쪽이 더 잘 늙을까요
솔직히 둘 다입니다. 같은 개방형 형식이고, 그게 이 형식의 요점이니까요. 다만 망가지는 방식이 다릅니다.
Thunderbird 프로필은 특유의 방식으로 취약합니다. 메일이 Thunderbird 바깥에서는 아무 의미도 없는 이름의 파일에, 무작위 이름의 폴더 안에 들어 있고, .sbd 구조는 정리하다가 깨뜨리기 쉽습니다. 그럴듯해 보이는 파일 몇 개가 아니라 Mail/Local Folders/ 디렉터리 전체를 복사하세요.
Takeout 내보내기는 반대 방향으로 취약합니다. 어느 하루의 스냅숏이고, 완전하고 자체 완결적이며, 만들어진 순간부터 낡습니다. 동시에 둘 중에서 계정이 닫힌 뒤에도 계속 열리는 유일한 쪽이기도 합니다.
들여 둘 만한 습관은 양쪽 다 같습니다. 원본을 보관하고, 10년 뒤에도 의미가 통할 이름을 붙이고, 한 번 열어서 생각하는 그것이 맞는지 확인하는 것.
Google과 Google Takeout은 Google LLC의 상표입니다.
Mbox Viewer로 아카이브 열기
네이티브 Mac과 Windows 앱. 크기에 상관없이 MBOX 및 EML 파일을 완전히 오프라인으로 스트리밍합니다.