Provided by: manpages-pl_0.5-1_all bug

NAZWA

       maildir - katalog na przychodzące wiadomości pocztowe

WPROWADZENIE

        Uwaga! To tłumaczenie może być nieaktualne!

       maildir  jest  strukturą  drzewiastą katalogów listów przychodzących.  Rozwiązuje problemy
       niezawodności, jakie trapiły pliki mbox i katalogi pocztowe mh.

KWESTIE NIEZAWODNOŚCI

       Podczas przekazywania listu może nastąpić załamanie się systemu.  W przypadku plików mbox,
       jak  i  katalogów  mh list ten zostanie wówczas milcząco obcięty. Co gorsza: przy formacie
       mbox, jeśli list  zostanie  ucięty  w  środku  linii,  to  milcząco  zostanie  złączony  z
       następnym.   Agent  transportu  poczty  (MTA)  będzie później próbował ponownie dostarczyć
       list, ale jest niedopuszczalne, żeby popsuta wiadomość w ogóle się pojawiała.   W  maildir
       każdy list po przesłaniu jest z pewnością kompletny.

       Na  danej  maszynie  mogą  równocześnie pracować dwa programy dostarczające pocztę do tego
       samego użytkownika.  Formaty mbox i mh  wymagają,  by  oba  programy  aktualizowały  jeden
       centralny  plik.  Jeśli  nie  korzystają one z jakiegoś mechanizmu blokowania, to plik ten
       zostanie uszkodzony.  Istnieje kilka mechanizmów blokowania mbox i mh, z których żaden nie
       działa  przenośnie  i  niezawodnie.  W przeciwieństwie do tego, przy maildir żadne blokady
       nie są nigdy potrzebne.  Różne procesy dostarczania nigdy nie tykają tego samego pliku.

       Użytkownik może próbować usunąć listy ze swojej skrzynki w tej samej chwili,  gdy  maszyna
       dostarcza  nowy  list.  Przy formatach mbox i mh czytnik poczty użytkownika musi wiedzieć,
       jakiego mechanizmu blokowania używają  programy  dostarczające  pocztę.   Inaczej  jest  w
       przypadku  maildir,  gdzie czytnik poczty może bezpiecznie aktualizować lub usuwać dowolny
       dostarczony list.

       Wiele ośrodków korzysta z Sunowego Network  Failure  System  (NFS),  zapewne  dlatego,  że
       dostawca systemu operacyjnego nie oferuje niczego innego.  NFS pogarsza wszystkie powyższe
       problemy.  Niektóre z  implementacji  NFS  nie  zapewniają  żadnego  solidnego  mechanizmu
       blokowania.   Przy formatach mbox i mh, gdy dwie maszyny dostarczają pocztę do tego samego
       użytkownika lub gdy użytkownik czyta pocztę gdzieś poza maszyną dostarczającą, jego poczta
       jest zagrożona.  maildir działa z NFS bez kłopotów.

STRUKTURA MAILDIR

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

       Każdy plik w new jest świeżo 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 końcu.  Wiadomość ma normalnie format RFC
       822,  zaczynając  się  liniami  Return-Path i Delivered-To, ale może zawierać dowolne dane
       binarne.  Może nawet nie kończyć się znakiem nowej linii.

       Pliki w cur są takie jak w new.  Różnicę stanowi to, że pliki w  cur  nie  są  już  nowymi
       listami: czytnik poczty użytkownika już je widział.

JAK LIST JEST DOSTARCZANY

       Do zapewnienia niezawodności dostarczania wykorzystuje się katalog tmp.

       Program  dostarcza  przesyłkę  pocztową  w sześciu 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 początku 1970 GMT, pid to identyfikator
       procesu programu, a and host jest nazwą hosta.  W kroku trzecim, jeśli stat() zwrócił  coś
       innego niż ENOENT [ENOENT=plik nie istnieje], program zasypia na dwie sekundy, aktualizuje
       time, i ponownie próbuje stat(), ograniczoną liczbę razy.  W czwartym kroku program tworzy
       tmp/time.pid.host.   W  piątym zapisuje przez zapis-NFS przesyłkę do utworzonego pliku.  W
       szóstym  kroku  program,  za  pomocą   link()   tworzy   nowe   dowiązanie   tego   pliku,
       new/time.pid.host.  W tym momencie list dostał pomyślnie dostarczony.

       Program  dostarczający  przed utworzeniem tmp/time.pid.host powinien uruchomić 24-godzinny
       licznik czasu i porzucić dostarczanie jeśli licznik  zostanie  przekroczony.  W  przypadku
       wystąpienia  błędu,  przekroczenia  limitu  czasu  czy  normalnego  zakończenia działania,
       program może spróbować użyć unlink() do usunięcia tmp/time.pid.host.

       Zapis-NFS oznacza (1) jak zwykle, sprawdzenie liczby bajtów zwracanych z każdego wywołania
       write();  (2)  wywołanie fsync() i sprawdzenie zwróconej wartości; (3) wywołanie close() i
       sprawdzenie  zwróconej  wartości.   (Standardowe  implementacje  NFS   obsługują   fsync()
       niepoprawnie, ale poprawiają to niewłaściwym użyciem close().)

JAK LIST JEST CZYTANY

       Czytnik poczty działa jak następuje.

       Przegląda  katalog  new  szukając  nowych  wiadomości.   Powiedzmy,  że  mamy  nowy  list,
       new/unikat.  Czytnik może swobodnie wyświetlić 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ę również, że czytnik przeglądnie katalog tmp i wyczyści ewentualne  znalezione
       tam  stare  pliki.  Plik w tmp można bezpiecznie usunąć jeśli nie sięgano do niego w ciągu
       ostatnich 36 godzin.

       Warto, by czytniki pomijały wszystkie te pliki w new i cur, których nazwy zaczynają się od
       kropki. Czytniki nie powinny próbować analizować innych nazw plików.

ZMIENNE ŚRODOWISKOWE

       Czytniki  poczty  obsługujące  maildir  korzystają  ze zmiennej środowiskowej MAILDIR jako
       nazwy podstawowego katalogu pocztowego użytkownika.

ZOBACZ TAKŻE

       mbox(5), qmail-local(8)

INFORMACJE O TŁUMACZENIU

       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 maildir

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.

                                                                                       maildir(5)