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:
- поштовий клієнтEudoraвикористовує змінений варіантmboxo,в якому адресу відправника замінено рядком «???@???». Більшість програм поміщають листи вmboxу незмінному вигляді. Eudora зберігає вкладення у вигляді файлів в окремому каталозі;[1]
- програми сімействаMozilla(Mozilla Firefox,Netscape Navigator,Thunderbirdта інші) використовують варіантmboxrdз ускладненими правилами екранування рядків «From».[2]
Варіанти mbox використовують різні, несумісні між собою механізмиблокування файлів:fcntl(), lockf(), «dot locking». Це не надійно при використанні мережевих файлових систем, наприкладNFS.
Блокування файлів необхідне тому, що безліч повідомлень зберігаються в одному файлі, який може бути пошкоджений при одночасній спробі запису кількома програмами. Таке може статися, якщо програма доставки електронної пошти додає нові повідомлення в той момент, коли програма читання пошти видаляє старе повідомлення.
Рекомендується блокувати файли mbox навіть при простому читанні пошти. Інакше можна побачити пошкоджене повідомлення, якщо інший процес змінює файл в цей час.
- ↑«Eudora 6.2.4 Mac user Guide, page 113»(PDF).Архіворигіналу(PDF)за 12 липня 2014.Процитовано 28 січня 2022.
- ↑«Importing and exporting your mail»