Provided by: manpages-pl_20060617-3_all bug

NAZWA

       maildir - katalog na przychodzce wiadomoci pocztowe

WPROWADZENIE

       maildir   jest   struktur  drzewiast  katalogow  listow  przychodzcych.
       Rozwizuje problemy niezawodnoci, jakie trapily pliki  mbox  i  katalogi
       pocztowe mh.

KWESTIE NIEZAWODNOCI

       Podczas  przekazywania  listu  moe  nastpi  zalamanie  si  systemu.   W
       przypadku plikow mbox, jak i katalogow mh  list  ten  zostanie  wowczas
       milczco obcity. Co gorsza: przy formacie mbox, jeli list zostanie ucity
       w  rodku  linii,  to  milczco  zostanie  zlczony  z  nastpnym.    Agent
       transportu  poczty (MTA) bdzie poniej probowal ponownie dostarczy list,
       ale jest niedopuszczalne, eby popsuta wiadomo w ogole si pojawiala.   W
       maildir kady list po przeslaniu jest z pewnoci kompletny.

       Na  danej  maszynie  mog  rownoczenie pracowa dwa programy dostarczajce
       poczt do tego samego uytkownika.  Formaty mbox i  mh  wymagaj,  by  oba
       programy  aktualizowaly  jeden centralny plik. Jeli nie korzystaj one z
       jakiego  mechanizmu  blokowania,  to  plik  ten  zostanie   uszkodzony.
       Istnieje  kilka  mechanizmow  blokowania  mbox i mh, z ktorych aden nie
       dziala przenonie i niezawodnie.  W przeciwiestwie do tego, przy maildir
       adne  blokady  nie  s nigdy potrzebne.  Rone procesy dostarczania nigdy
       nie tykaj tego samego pliku.

       Uytkownik moe probowa usun listy ze swojej skrzynki w tej samej chwili,
       gdy  maszyna  dostarcza  nowy  list.   Przy formatach mbox i mh czytnik
       poczty uytkownika musi wiedzie,  jakiego  mechanizmu  blokowania  uywaj
       programy  dostarczajce  poczt.  Inaczej jest w przypadku maildir, gdzie
       czytnik  poczty  moe  bezpiecznie   aktualizowa   lub   usuwa   dowolny
       dostarczony list.

       Wiele orodkow korzysta z Sunowego Network Failure System (NFS), zapewne
       dlatego, e dostawca systemu operacyjnego nie  oferuje  niczego  innego.
       NFS  pogarsza wszystkie powysze problemy.  Niektore z implementacji NFS
       nie zapewniaj adnego solidnego mechanizmu blokowania.   Przy  formatach
       mbox  i mh, gdy dwie maszyny dostarczaj poczt do tego samego uytkownika
       lub gdy uytkownik czyta  poczt  gdzie  poza  maszyn  dostarczajc,  jego
       poczta jest zagroona.  maildir dziala z NFS bez klopotow.

STRUKTURA MAILDIR

       Katalog  w formacie maildir ma trzy podkatalogi, wszystkie na tym samym
       systemie plikow: tmp, new i cur.

       Kady plik w new jest wieo dostarczonym listem. Czas  modyfikacji  pliku
       jest  czasem  dostarczenia.  List jest dostarczany bez dodatkowej linii
       From_ w stylu UUCP, bez adnego cytowania >From i bez dodatkowej  pustej
       linii  na  kocu.   Wiadomo  ma  normalnie  format RFC 822, zaczynajc si
       liniami Return-Path  i  Delivered-To,  ale  moe  zawiera  dowolne  dane
       binarne.  Moe nawet nie koczy si znakiem nowej linii.

       Pliki  w  cur s takie jak w new.  Ronic stanowi to, e pliki w cur nie s
       ju nowymi listami: czytnik poczty uytkownika ju je widzial.

JAK LIST JEST DOSTARCZANY

       Do zapewnienia niezawodnoci dostarczania wykorzystuje si katalog tmp.

       Program  dostarcza  przesylk  pocztow  w  szeciu  etapach.    Najpierw,
       wykonuje  chdir()  do  katalogu maildir.  Potem pobiera za pomoc stat()
       informacje o pliku o nazwie tmp/time.pid.host,  gdzie  time  to  liczba
       sekund  od  pocztku  1970 GMT, pid to identyfikator procesu programu, a
       and host jest nazw hosta.  W kroku  trzecim,  jeli  stat()  zwrocil  co
       innego  ni  ENOENT  [ENOENT=plik nie istnieje], program zasypia na dwie
       sekundy, aktualizuje time, i ponownie probuje stat(), ograniczon  liczb
       razy.   W  czwartym  kroku  program  tworzy tmp/time.pid.host.  W pitym
       zapisuje przez zapis-NFS przesylk  do  utworzonego  pliku.   W  szostym
       kroku  program,  za  pomoc  link()  tworzy  nowe  dowizanie tego pliku,
       new/time.pid.host.  W tym momencie list dostal pomylnie dostarczony.

       Program  dostarczajcy  przed  utworzeniem  tmp/time.pid.host   powinien
       uruchomi  24-godzinny licznik czasu i porzuci dostarczanie jeli licznik
       zostanie  przekroczony.  W  przypadku  wystpienia  bldu,  przekroczenia
       limitu  czasu czy normalnego zakoczenia dzialania, program moe sprobowa
       uy unlink() do usunicia tmp/time.pid.host.

       Zapis-NFS oznacza (1) jak zwykle, sprawdzenie liczby bajtow  zwracanych
       z  kadego  wywolania  write();  (2)  wywolanie  fsync()  i  sprawdzenie
       zwroconej  wartoci;  (3)  wywolanie  close()  i  sprawdzenie  zwroconej
       wartoci.  (Standardowe implementacje NFS obsluguj fsync() niepoprawnie,
       ale poprawiaj to niewlaciwym uyciem close().)

JAK LIST JEST CZYTANY

       Czytnik poczty dziala jak nastpuje.

       Przeglda katalog new szukajc nowych wiadomoci.  Powiedzmy, e mamy  nowy
       list,   new/unikat.   Czytnik  moe  swobodnie  wywietli  zawarto  pliku
       new/unikat, usun go lub zmieni mu nazw na  cur/unikat:info.   Znaczenie
       info opisano na stronie http://pobox.com/~djb/proto/maildir.html.

       Oczekuje  si  rownie,  e  czytnik  przegldnie  katalog  tmp  i  wyczyci
       ewentualne znalezione tam stare pliki.  Plik  w  tmp  mona  bezpiecznie
       usun jeli nie sigano do niego w cigu ostatnich 36 godzin.

       Warto,  by  czytniki  pomijaly  wszystkie te pliki w new i cur, ktorych
       nazwy zaczynaj si od kropki. Czytniki  nie  powinny  probowa  analizowa
       innych nazw plikow.

ZMIENNE RODOWISKOWE

       Czytniki  poczty  obslugujce maildir korzystaj ze zmiennej rodowiskowej
       MAILDIR jako nazwy podstawowego katalogu pocztowego uytkownika.

ZOBACZ TAKE

       mbox(5), qmail-local(8)

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.

                                                                    maildir(5)