Формат mbox

Как почтовые клиенты хранят почту на вашем жестком диске

Наиболее распространенным форматом для хранения почтовых сообщений является формат mbox. MBOX обозначает MailBOX. Mbox – это отдельный файл, содержащий ноль или более почтовых сообщений.

Формат mbox

Если мы используем формат mbox для хранения электронных писем, мы помещаем их все в один файл. Это создает более или менее длинный текстовый файл (электронная почта в Интернете всегда существует только в виде 7-битного текста ASCII, все остальное – например, вложения – кодируется), содержащая одно сообщение электронной почты за другим. Как мы узнаем, где один заканчивается, а другой начинается?

К счастью, в каждом письме есть хотя бы одна строка From-line в самом начале. Каждое сообщение начинается с “From” (From, за которым следует символ пробела, также называемый строкой “From_”). Если этой последовательности («From») в начале строки предшествует пустая строка или она находится вверху файла, мы нашли начало сообщения.

Итак, что мы ищем при разборе файла mbox, по сути, это пустая строка, за которой следует «From».

Как регулярное выражение, мы можем написать это как “\ n \ nFrom. * \ N”. Только самое первое сообщение отличается. Он начинается просто с «From» в начале строки («^ From. * \ N»).

«От» в теле

Что, если в теле сообщения электронной почты появится указанная выше последовательность? Что если следующее является частью электронного письма?

  • … я отправляю вам самый последний отчет.
  • Из этого отчета не нужно …

Здесь у нас есть пустая строка, за которой следует «От» в начале строки. Если это появляется в файле mbox, у нас безошибочно есть начало нового сообщения. По крайней мере, так думает парсер и почему почтовый клиент и мы были бы весьма смущены почтовым сообщением, которое не содержит ни отправителя, ни получателя, но начинается с «Из этого отчета».

Чтобы избежать таких катастрофических условий, мы должны убедиться, что «От» никогда не появляется в начале строки, следующей за пустой строкой в ​​теле письма.

Всякий раз, когда мы добавляем новое сообщение в файл mbox, мы ищем такие последовательности в теле и просто заменяем «From» на «> From». Это делает неверное толкование невозможным. Пример выше теперь выглядит следующим образом и больше не вызывает анализатор:

  • … я отправляю вам самый последний отчет.
  • > Из этого отчета не нужно …

Вот почему вы можете иногда найти «> От» в электронном письме, где вы ожидаете просто «От».

Оцените статью
Solutics.ru
Добавить комментарий