.MBOX вариант №
Формат файла MBox — это общий термин, обозначающий контейнер для сбора сообщений электронной почты. Сообщения хранятся внутри контейнера вместе с их вложениями. Сообщения из всей папки сохраняются в одном файле базы данных, а новые сообщения добавляются в конец файла. Многочисленные приложения и API обеспечивают поддержку формата файлов MBox, например Apple Mail и Mozilla Thunderbird.
Формат файла MBOX
Формат файла MBox оставался нестандартизированным в течение довольно долгого времени до 2005 года, когда приложение/mbox было стандартизировано как RFC 4155. Сообщения в формате RFC 2822. , объединяются внутри формата файла MBox один за другим. Каждое сообщение начинается со строки-разделителя, которая идентифицирует отправителя сообщения, а также дату и время, когда сообщение было получено конечным получателем (либо системой последнего перехода на пути передачи, либо системой, которая служит получателем в качестве системы). почтовый магазин). Каждое сообщение обычно заканчивается пустой строкой. Конец базы данных обычно распознается либо по отсутствию каких-либо дополнительных данных, либо по наличию явного маркера конца файла.
Чтение сообщения из файла MBox
Читатель просматривает файл mbox в поисках строк From_. Любая строка From_ отмечает начало сообщения. Читатель не должен пытаться воспользоваться тем фактом, что каждая строка From_ (после начала файла) является пустой строкой. Как только читатель находит сообщение, он извлекает (возможно, поврежденный) отправителя конверта и дату доставки из строки From_. Затем он читается до следующей строки From_ или до конца файла, в зависимости от того, что наступит раньше. Он удаляет последнюю пустую строку и удаляет цитирование строк >From_ и »From_ и так далее. Результатом является сообщение RFC 822.
Рекомендации по кодированию
Содержимое файла MBox может быть необратимо перемешано, если полученное электронное письмо содержит файл Mbox в качестве вложения и сохраняется в другом файле Mbox. Чтобы избежать этого, системы обмена сообщениями должны кодировать базу данных mbox с помощью непрозрачной кодировки передачи (например, BASE64 или Quoted-Printable) всякий раз, когда такой объект передается через протоколы обмена сообщениями. Разработчики также должны быть готовы к локальному кодированию данных mbox в случае получения несовместимых данных.