mbox

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

mbox— загальна назва форматів файлів, що використовуються для зберігання повідомлень електронної пошти. Всі повідомлення в поштовій скриньці формату mbox знаходяться в одному текстовому файлі. Початок поштового повідомлення визначається рядком з 5 символів: словом «From» з наступним пробілом. В кінці кожного повідомлення знаходиться пустий рядок.

Формат mbox досі популярний через зручність застосування з програмами обробки тексту.

На відміну від протоколів Інтернету, що використовуються дляобмінуповідомленнями, форматзберіганняелектронних повідомлень не був введений за допомогою RFC, а створювався розробниками ПЗ для роботи з електронною поштою.

В mbox (RFC 4155) повідомлення зберігаються у файлах, безпосередньо доступних користувачам, в оригінальному форматі Internet Message (RFC 2822). Так само, як і в іншій формі поштових скриньокMH Message Handling System.Інші системи, такі якMicrosoft Exchange ServerіCyrus IMAP Server,зберігають поштові скриньки в централізованих базах даних, що обслуговуються поштовою системою і недоступні користувачам безпосередньо.

Альтернативою mbox часто називають формат зберігання електронних повідомленьmaildir.

Сімейство форматів

[ред.|ред. код]

Існує чотири несумісних між собою формати mbox:mboxo,mboxrd,mboxclіmboxcl2,що походять з різних версійUnix.Схема найменування була розроблена Daniel J. Bernstein, Rahul Dhesi та іншими в 1996 році.mboxclіmboxcl2беруть початок з формату файлів, використовуваних поштовими програмами Unix System V Release 4.mboxrdбув розроблений Rahul Dhesi зі співавторами, як покращений варіантmboxo,згодом був адаптований для використання деякими поштовими програмами Unix, включаючиqmail(ориг.: «and subsequently adopted by some Unix mail tools including qmail»).

mboxoіmboxrdвизначають початок нового повідомлення по рядку, що починається зі слова «From», яке може міститися як в заголовку поштового повідомлення, так і в його тілі (стара помилка стандарту електронної пошти, яка, можливо, актуальна ще й досі) (ориг.: «a mail standard violation for the former, but likely for the latter»). Перед збереженням у поштовій скриньці формату mbox рядки тіла повідомлення, що починаються зі слова «From» повинні бути попереджені символом «більше»:

>From my point of view...

,що у форматі mbox може призвести до пошкодження повідомлення: якщо символ «більше» вже є на початку рядка перед «From», він залишається без змін. Надалі, при читанні електронної пошти, програма помилково видаляє початковий знак «>». Форматmboxrdвирішує цю проблему заміною «From» на >From і «>From» на «>>From». Таке перетворення завжди є зворотнім.

Приклад:

From MAILER-DAEMON Fri Jul 8 12:08:34 2011
From:Author<[email protected]>
To:Recipient<[email protected]>
Subject:Samplemessage1

This is the body.
>From (should be escaped).
There are 3 lines.

From MAILER-DAEMON Fri Jul 8 12:08:34 2011
From: Author <[email protected]>
To: Recipient <[email protected]>
Subject: Sample message 2

This is the second body.

Форматmboxclіmboxcl2використовують заголовок «Content-Length:» для визначення довжини повідомлення і знаходження «справжніх» полів «From».mboxclвсе ще використовує «>» дляекранування«From»,mboxcl2— ні.

Змінений mbox

[ред.|ред. код]

Деякі програми використовують для своїх потреб модифікаціїmbox:

  • поштовий клієнтEudoraвикористовує змінений варіантmboxo,в якому адресу відправника замінено рядком «???@???». Більшість програм поміщають листи вmboxу незмінному вигляді. Eudora зберігає вкладення у вигляді файлів в окремому каталозі;[1]
  • програми сімействаMozilla(Mozilla Firefox,Netscape Navigator,Thunderbirdта інші) використовують варіантmboxrdз ускладненими правилами екранування рядків «From».[2]

Блокування файлів

[ред.|ред. код]

Варіанти mbox використовують різні, несумісні між собою механізмиблокування файлів:fcntl(), lockf(), «dot locking». Це не надійно при використанні мережевих файлових систем, наприкладNFS.

Блокування файлів необхідне тому, що безліч повідомлень зберігаються в одному файлі, який може бути пошкоджений при одночасній спробі запису кількома програмами. Таке може статися, якщо програма доставки електронної пошти додає нові повідомлення в той момент, коли програма читання пошти видаляє старе повідомлення.

Рекомендується блокувати файли mbox навіть при простому читанні пошти. Інакше можна побачити пошкоджене повідомлення, якщо інший процес змінює файл в цей час.

Див. також

[ред.|ред. код]

Примітки

[ред.|ред. код]
  1. «Eudora 6.2.4 Mac user Guide, page 113»(PDF).Архіворигіналу(PDF)за 12 липня 2014.Процитовано 28 січня 2022.
  2. «Importing and exporting your mail»