Что такое формат файла MBOX?
Файл с расширением .mbox - это почтовый ящик, в котором хранится список сообщений для данного получателя в последовательном порядке. .mbox является текстовым форматом - каждое сообщение начинается с разделительной строки From (слово From, за которым следует пробел, адрес отправителя и метка времени), а сообщения объединяются одно за другим в один файл. Формат был неофициально описан в RFC 4155 (2005), который закрепил соглашения, существовавшие десятилетиями без официального стандарта.
Файлы .mbox (сокращение от MailBOX) ведут свою историю от простых почтовых клиентов Unix 1970-х годов. macOS, основанная на Unix, приняла этот формат для своего первого встроенного почтового клиента. Формат имеет несколько известных недостатков:
- Отсутствие встроенного шифрования сообщений - любой пользователь, имеющий доступ к файлу
.mbox, может прочитать его содержимое. - Последовательное чтение из одного файла становится медленным и подверженным ошибкам при больших коллекциях сообщений.
- Необходимо использовать блокировку файлов для предотвращения повреждения данных при одновременном доступе нескольких процессов к почтовому ящику.
- Удаление сообщения требует перезаписи всего файла.
Оригинальный формат .mbox стал основой для четырех близкородственных вариантов: mboxo, mboxrd, mboxcl и mboxcl2 - каждый из которых по-разному решает проблему цитирования строки From . Эти варианты не полностью совместимы друг с другом. По сравнению с более новыми форматами, такими как .eml или .emlx, .mbox предлагает более простые инструменты, но худшую масштабируемость. Файлы .mbox можно открыть в любом текстовом редакторе, хотя редактировать их вручную не рекомендуется, так как это может привести к ошибкам парсинга в почтовых клиентах.
Безопасность и защита
РИСК: MEDIUMФайл mbox является текстовым и инертным, но он содержит реальные электронные письма, поэтому несет в себе обычные риски электронной почты после открытия в клиенте: вредоносные вложения, фишинговые ссылки и пиксели отслеживания. Открывайте недоверенные mbox в клиенте с песочницей (Thunderbird/Apple Mail), а не извлекайте вложения вслепую. Поскольку mbox может хранить почту за многие годы, относитесь к нему как к конфиденциальным персональным данным: файл .mbox из Gmail Takeout - это весь ваш почтовый ящик в одном читаемом файле. Избегайте загрузки конфиденциальных файлов mbox в онлайн-конвертеры; используйте локальные инструменты. Наличие нескольких вариантов mbox (mboxo/mboxrd/cl/cl2) может привести к неправильному разделению сообщений, если строка в теле письма начинается с «From » - это нюанс целостности данных, а не безопасности.
Детали формата
в двух словахПрограммы, открывающие файлы MBOX
Технические подробности
глубокая спецификация| Тип формата | Текстовый контейнер, объединяющий несколько сообщений электронной почты в одном файле |
| Разделитель сообщений | Строка `From ` в начале каждого сообщения (слово From, пробел, адрес отправителя и метка времени UTC) |
| Структура файла | Все сообщения хранятся последовательно в одном плоском файле; внутренний индекс или каталог отсутствуют |
| Цитирование строки From | Строки в теле письма, начинающиеся с `From `, должны быть экранированы (обычно префиксом `>`), чтобы их не приняли за границы сообщения; конкретный метод зависит от варианта mbox |
| Варианты подформатов | mboxo, mboxrd, mboxcl и mboxcl2 - четыре несовместимых диалекта, различающихся способом цитирования строк `From ` и записи Content-Length |
| MIME-тип | application/mbox |
| Кодировка | Простой текст US-ASCII или UTF-8; бинарные вложения кодируются в MIME (обычно Base64) внутри каждого сообщения |
| Блокировка | Требуется внешняя блокировка файлов (dotlock, flock или fcntl) для предотвращения повреждения при одновременной записи; встроенный механизм блокировки отсутствует |
| Удаление | Сообщения помечаются как удаленные через заголовок `Status: D`; окончательное удаление требует «сжатия» - перезаписи всего файла |
| Производительность поиска | Требуется линейное сканирование O(n); встроенный индекс отсутствует - большие почтовые ящики полагаются на внешние индексы, такие как notmuch, или кэш заголовков почтового клиента |
| Сжатие | Встроенное сжатие отсутствует; для длительного хранения часто архивируются как файлы `.mbox.gz` с помощью gzip |
| Многопользовательский доступ | Модель с одним пишущим процессом; одновременный доступ нескольких процессов требует блокировки на уровне ОС, иначе возможна потеря данных |
| Портативность | Кроссплатформенный текстовый формат - читается в любой ОС без проприетарного ПО или специальных драйверов |
| Магические байты | Отсутствуют - идентификация основана на поиске разделительной строки `From ` в самом начале файла |
| Типичный размер файла | Не ограничен; один файл `.mbox` может содержать тысячи сообщений и разрастаться до нескольких гигабайт в больших почтовых архивах |
| Выпущен | 1970s (Unix mail); informally documented as RFC 4155 (2005) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.rfc-editor.org |
Конвертации MBOX
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах MBOX.