NAZWA¶
mbox - plik zawierający wiadomości pocztowe
WPROWADZENIE¶
Uwaga! To tłumaczenie może być nieaktualne!
Najpopularniejszym formatem przechowywania wiadomości pocztowych jest
format
mbox.
mbox jest pojedynczym plikiem zawierającym
zero lub więcej listów.
List zakodowany w formacie
mbox zaczyna się od linii
From_,
po której występuje ciąg linii innych niż From_ a
kończy pustą linią. Linia
From_ oznacza dowolną
linię zaczynającą się znakami F, r, o, m, spacja:
From god@heaven.af.mil Sat Jan 3 01:05:34 1996
Return-Path: <god@heaven.af.mil>
Delivered-To: djb@silverton.berkeley.edu
Date: 3 Jan 1996 01:05:34 -0000
From: God <god@heaven.af.mil>
To: djb@silverton.berkeley.edu (D. J. Bernstein)
How's that mail system project coming along?
Ostatnia linijka jest całkiem pusta (bez spacji czy tabulacji).
Zauważ, że puste linie mogą się też pojawić w
dowolnym innym miejscu listu.
Linia
From_ zawsze ma postać
From nadkopert
data dalsze_info.
nadkopert jest jednym wyrazem, bez
spacji czy tabulacji. Jest to zwykle nadawca z koperty (envelope sender)
listu.
data jest datą dostarczenia listu. Zawiera zawsze
dokładnie 24 znaki w formacie
asctime.
dalsze_info jest
opcjonalne i może zawierać dowolne informacje.
Pomiędzy linią
From_ a pustą linią jest
wiadomość w formacie RFC 822 , jak to opisano w
qmail-header(5), podlegającą
cytowaniu >From, jak
opisano poniżej.
JAK LIST JEST DOSTARCZANY¶
Oto, w jaki sposób program dopisuje list do pliku
mbox.
Najpierw tworzy linię
From_ z danym nadawcą kopertowym listu i
bieżącą datą. Jeśli nadawca kopertowy jest pusty
(tzn. jeśli jest to poczta odbita), to zamiast tego program używa
nazwy
MAILER-DAEMON. Jeśli nazwa nadawcy kopertowego zawiera
spacje, tabulacje lub znaki nowej linii, to są one zamieniane na
myślniki.
Następnie program kopiuje wiadomość, do każdej linii
stosując
cytowanie >From . Takie postępowanie zapewnia,
iż powstałe linie nie będą liniami
From_: program
poprzedza znakiem większości
> wszystkie linie
From_,
>From_,
>>From_,
>>>From_, itd.
Na koniec do wiadomości dopisywana jest pusta linia. Jeśli ostatnia
linia była linią częściową [tj. nie
zakończoną znakiem nowej linii - tłum.], to zapisywane są
dwa znaki nowej linii. W przeciwnym razie - jeden.
JAK LIST JEST CZYTANY¶
Czytnik przegląda plik
mbox szukając linii
From_.
Każda taka linia oznacza początek wiadomości. Czytnik nie
powinien próbować wykorzystywać tego, że każda linia
From_ (poza początkiem pliku) jest poprzedzana linią
pustą.
Po znalezieniu listu, czytnik wydziela z linii
From_ nazwę nadawcy
kopertowego (może być uszkodzona) i datę dostarczenia.
Następnie czyta aż do następnej linii
From_ lub do
końca pliku, zależy co wystąpi wcześniej. Odcina
ostatnią pustą linię i usuwa cytowania z linii
>From_,
>>From_ i tak dalej. Wynikiem jest
wiadomość zgodna z RFC 822.
POPULARNE ODMIANY MBOX¶
Istnieje wiele odmian formatu
mbox. Wariant opisany powyżej jest
formatem
mboxrd, spopularyzowanym przez Rahula Dhesi w czerwcu 1995.
Oryginalny format
mboxo cytuje tylko linie
From_, nie
>From_. W rezultacie nie sposób powiedzieć, czy
From: djb@silverton.berkeley.edu (D. J. Bernstein)
To: god@heaven.af.mil
>From now through August I'll be doing beta testing.
Thanks for your interest.
było cytowane w oryginalnym liście. Czytnik
mboxrd zawsze
usunie cytowanie.
Format
mboxcl przypomina
mboxo, ale zawiera pole Content-Length z
liczbą bajtów wiadomości. Format
mboxcl2 jest taki jak
mboxcl, ale nie ma żadnego cytowania
>From. Te formaty
są stosowane przez programy przesyłające pocztę w SVR4.
mboxcl2 nie może być bezpiecznie czytane przez czytniki
mboxrd.
NIE SKONKRETYZOWANE SZCZEGÓŁY¶
Istnieje wiele mechanizmów blokowania plików
mbox.
qmail-local zawsze używa
flock na systemach, które go
mają, w przeciwnym razie
lockf.
Data dostarczenia w linii
From_ nie podaje strefy czasowej.
qmail-local zawsze tworzy datę dostarczenia w GMT, dzięki
czemu pliki
mbox można bezpiecznie przenosić z jednej strefy
czasowej do innej.
Jeśli mtime [czas modyfikacji] niepustego pliku
mbox jest
większe niż atime [czas dostępu], to plik zawiera nowe listy.
Jeśli mtime jest większe niż atime, to nowa poczta została
przeczytana. Jeżeli mtime jest równe atime, nie da się w
żaden sposób stwierdzić czy w pliku są nowe
wiadomości, gdyż uruchomienie
qmail-local zabiera dużo
mniej niż sekundę. Jednym z rozwiązań jest sztuczne
nadawanie przez czytnik czasowi atime wartości mtime plus 1. Wówczas
plik zawiera nowe listy wtedy i tylko wtedy, gdy atime jest mniejsze
bądź równe mtime.
Niektóre czytniki umieszczają w każdej wiadomości pole
Status, wskazujące, które listy zostały już
przeczytane.
ZOBACZ TAKŻE¶
maildir(5),
qmail-header(5),
qmail-local(8)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
- man --locale=C 5 mbox
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.