Provided by: manpages-pl_20051117-1_all bug

NAZWA

       procmailrc - plik rc procmaila

SKŁADNIA

       $HOME/.procmailrc

OPIS

       Dla  szybkiego startu obejrzyj sekcję UWAGI na końcu strony podręcznika
       procmail(1).

       Plik rc składa się z przypisań  zmiennych  środowiskowych  (niektóre  z
       nich  mają  specjalne  znaczenie dla procmaila) i reguł. W najprostszej
       postaci, reguły są po prostu  jednoliniowymi  wyrażeniami  regularnymi,
       które  są  poszukiwane  w  nagłówkach  przychodzącej  poczty;  pierwsza
       reguła, która zostanie dopasowana jest używana do określenia gdzie dany
       list  ma  pójść (zwykle do pliku). Jeśli przetwarzanie dojdzie do końca
       pliku rc, procmail dostarczy pocztę do $DEFAULT.

       Istnieją dwa rodzaje reguł: dostarczające  i  niedostarczające.   Jeśli
       dopasowana  zostanie  regua dostarczajca, procmail zakłada, że poczta
       (zgadłeś)  jest  dostarczona  i  zakoczy  przetwarzanie  pliku  rc  po
       wykonaniu   linii  akcji  reguły.   Jeśli  dopasowana  zostanie  regua
       niedostarczajca, to przetwarzanie pliku rc będzie  kontynuowane  nawet
       po wykonaniu akcji tej reguły.

       Reguły  dostarczające  są tymi, które powodują zapis nagłówka lub ciała
       listu do pliku, jego zaabsorbowanie przez program lub przeforwardowanie
       do innego adresu pocztowego.

       Reguły  niedostarczające to te, które łapią wyjście programu lub filtru
       z powrotem do procmaila, lub te, które rozpoczynają zagnieżdżony  blok.

       Można  powiedzieć  procmailowi  by  traktował regu dostarczajc jako
       niedostarczającą poprzez przekazanie takiej regule flagi `c'. Spowoduje
       to,   że   procmail   wygeneruje   kopię  listu  typu  carboncopy,  tj.
       dostarczając go regule i dalej przetwarzając plik rc.

       Używając dowolnej ilości reguł, możesz posortować swoją  pocztę  wprost
       do  określonych  folderów  pocztowych.  Pamiętaj jednak, że poczta może
       wpływać do tych folderów w tym samym momencie  (jeśli  kilka  procmaili
       działa  naraz,  co nie jest nieprawdopodobne przy dużej ilości poczty).
       Aby upewnić się, że nie narobi  to  bałaganu,  zalecane  jest  robienie
       właściwego użytku z plików blokujących.

       Inicjalizacje  zmiennych  środowiskowych  i  reguły  mogą być swobodnie
       przeplatane w pliku rc. Jeśli zmienna  środowiskowa  ma  dla  procmaila
       specjalne    znaczenie,   zostanie   użyta   odpowiednio   w   momencie
       przetwarzania. (np. możesz zmienić katalog bieżący kiedy  tylko  chcesz
       przez  podanie  nowego  MAILDIR, zamienić pliki blokujące przez podanie
       nowego LOCKFILE, zmienić umask,  itd.,  możliwości  jest  nieskończenie
       wiele :-).

       Inicjalizacje   i   podstawienia   tych   zmiennych  środowiskowych  są
       obsługiwane dokładnie jak w sh(1) (to włącza wszystkie możliwe cytaty i
       sekwencje  specjalne), z dodatkową premią, że puste miejsca dookoła '='
       są ignorowane i tym, że jeśli zmienna pojawi się bez '=' na  końcu,  to
       zostanie   usunięta   ze   środowiska.   Każdy   program  w  odwrotnych
       apostrofach, uruchomiony przez procmail będzie miał cały list na  swoim
       stdin.

   Komentarze
       Słowo  zaczynające  się od # i wszystkie podążające za nim znaki, aż do
       nowej linii są ignorowane. Nie tyczy się to  linii  warunkowych,  które
       nie mogą być komentowane.

   Reguły
       Linia  zaczynająca  się  od ':' oznacza początek reguły. Ma następujący
       format:

              :0 [flagi] [ : [lokalnyplikblokujcy] ]
              <zero lub więcej warunków (jeden na linię)>
              <dokładnie jedna linia akcji>

       Warunki zaczynają się od `*' i wszystko co następuje po tym znaku  jest
       przekazywane  wewnętrznemu  egrepowi,  poza  początkowymi  i  końcowymi
       białymi spacjami.  Wyrażenia regularne  są  całkowicie  kompatybilne  z
       normalnymi  wyrażeniami regularnymi egrep(1).  Zobacz także Rozszerzone
       wyrażenia regularne.

       Warunki są logicznie koniugowane; jeżeli nie ma  warunków,  wynik  jest
       domyślnie prawdziwy.

       Flagi mogą być dowolnymi z następujących:

       H    Egrepuj nagłówek (domyślnie).

       B    Egrepuj ciało.

       D    Powiedz wewnętrznemu egrepowi aby rozróżniał duże i małe litery (w
            przeciwieństwie do właściwości domyślnej).

       A    Ta reguła będzie zależeć od ostatniej  poprzedzającej  reguły  (na
            bieżącym  poziomie zagnieżdżenia) bez flagi `A' lub `a'. Umożliwia
            to wiązanie akcji zależących od wspólnego warunku.

       a    Ma takie samo znaczenie  jak  flaga  `A',  lecz  zależy  także  od
            pomylnego zakończenia poprzedzającej reguły.

       E    Ta  reguła  jest wykonywana tylko jeśli bezpośrednio poprzedzająca
            reguła nie była  wykonana.  Wykonanie  tej  reguły  wyłącza  także
            wszelkie bezpośrednio następujące reguły z flagą 'E'. Umożliwia to
            stawianie akcji `else if'.

       e    Ta reguła jest wykonywana tylko jeśli  bezpośrednio  poprzedzająca
            reguła  się nie powiodła.  Umożliwia to określanie akcji na błędy.

       h    Prześlij nagłówek listu do potoku (domyślne).

       b    Prześlij ciało listu do potoku (domyślne).

       f    Załóż, że potok jest filtrem.

       c    Wygeneruj kopię carbon copy tego listu. Ma to tylko sens dla reguł
            dostarczajcych Jedyną niedostarczającą regułą, na której flaga ta
            ma  jakiś  skutek  jest  wypadek  zagnieżdżonego  bloku,  w   celu
            wygenerowania   kopii   carbon   copy  proces  procmaila  zostanie
            sklonowany (pliki blokujące nie  zostaną  odziedziczone),  podczas
            gdy klon będzie pracować jak zwykle, rodzic przeskoczy blok.

       w    Czekaj  na  zakończenie  filtru lub programu i sprawdź kod wyjścia
            (normalnie ignorowany); jeśli filtr zwrócił błąd, tekst nie będzie
            filtrowany.

       W    Ma  takie  samo  znaczenie jak flaga `w', lecz powstrzyma wszelkie
            informacje typu `Program failure'.

       i    Ignoruj wszelkie błędy zapisu na  tej  regule  (np.  zwykle  przez
            wcześnie zamknięty potok).

       r    Tryb  surowy: nie próbuj zapewnić, że list kończy się pustą linią,
            zapisz go jakim jest.

       Istnieją pewne warunki specjalne, których możesz użyć, a które nie są w
       pełni regularnymi wyrażeniami. Aby wybrać je, warunek musi zaczynać się
       od:

       !    Odwróć warunek.

       $    Oszacuj resztę według reguł podstawiania sh(1) wewnątrz podwójnych
            cudzysłowów, pomiń początkowe białe spacje i przetwórz ponownie.

       ?    Użyj kodu wyjścia podanego programu.

       <    Sprawdź  czy  całkowita  długość  listu  jest  krótsza  niż podana
            (dziesiętnie) ilość bajtów.

       >    Analogiczne do '<'.

       zmienna ??
            Porównaj resztę z wartością tej zmiennej środowiskowej  (nie  może
            to  być  pseudozmienna). Specjalnymi wypadkami są `B', `H', `HB' i
            `BH', które zwyczajnie przeciążają domyślny obszar  przeszukiwania
            nagłówka/ciała (header/body) zdefiniowanego dla tej reguły.

       \    Aby zacytować dowolny z powyższych znaków na początku linii.

   Lokalny plik blokujący
       Jeśli  umieścisz  drugi  (kończący)  ':'  w  pierwszej linii reguły, to
       procmail użyje lokalnego pliku blokujcego (locallockfile)  (tylko  dla
       tej  reguły). Opcjonalnie możesz podać jakiego pliku użyć; jednak jeśli
       tego nie uczynisz, procmail użyje nazwy pliku  celu  (lub  nazwy  pliku
       następującej po pierwszym '>>') i dopisze do niej $LOCKEXT.

   Linia akcji reguły
       Linia akcji może zaczynać się od następujących znaków:

       !      Forwarduje do podanych adresów pocztowych.

       |      Uruchamia  określony  program,  prawdopodobnie w $SHELL-u, jeśli
              wykryto  jakiś  ze  znaków   $SHELLMETAS.   Możesz   opcjonalnie
              poprzedzić ten symbol potoku znakiem variable=, który spowoduje,
              że   stdout   programu   zostanie   przechwycony   do   zmiennej
              środowiskowej  variable.   Jeśli podasz tylko symbol potoku, bez
              żadnego programu, to procmail wrzuci list na stdout.

       {      Jeśli następuje za tym przynajmniej jedna spacja, tabulacja, lub
              nowa   linia,  to  oznacza  to  początek  zagnieżdżonego  bloku.
              Wszystko, aż do następnego nawiasu zamykającego, będzie  zależeć
              od   warunków   podanych   dla   tej   reguły.   Dozwolone  jest
              nieograniczone   zagnieżdżanie.   Nawias   zamykający   istnieje
              zwyczajnie po to, by oddzielić blok; w żadnym wypadku nie wywoła
              zakończenia procmaila. Po dotarciu do końca bloku, przetwarzanie
              będzie   kontynuowane,  jak  zwykle,  po  tym  bloku.   W  bloku
              zagnieżdżonym  flagi  `H'   i   `B'   dotyczą   tylko   warunków
              prowadzących do tego bloku, flagi `h' i `b' nie działają tak czy
              inaczej.

       Wszystko inne będzie uznawane za nazwę mailboxa  (zarówno  nazwę  pliku
       lub  katalog--absolutny  lub  względny  do  bieżącego  katalogu (zobacz
       MAILDIR)).  Jeśli jest to (możliwe że  jeszcze  nie  istniejąca)  nazwa
       pliku, poczta zostanie do niego doklejona.

       Jeśli jest to katalog, poczta zostanie dostarczona do nowo utworzonego,
       unikalnego pliku o nazwie $MSGPREFIX* w podanym katalogu.  Jeśli  nazwa
       katalogu  kończy  się  "/.", to katalog ten jest uznawany za folder MH;
       procmail użyje następnego numeru, który będzie dostępny.  Gdy  procmail
       dostarcza do katalogów, możesz podać wiele katalogów, do których należy
       dostarczyć (przy użyciu twardych dowiązań).

   Domyślne wartości zmiennych środowiskowych
       LOGNAME, HOME i SHELL Twoje (odbiorcy) wartości domyślne

       SHELLMETAS            &|<>~;?*[

       SHELLFLAGS            -c

       ORGMAIL               /var/spool/mail/$LOGNAME
                             (Chyba,  że  podano  -m,  wtedy  opcja  ta   jest
                             nieustawiona)

       MAILDIR               $HOME/
                             (Chyba,  że  nazwa pierwszego pomyślnie otwartego
                             pliku rc zaczyna się  od  ./,  w  którym  wypadku
                             wartością domyślną jest `.')

       DEFAULT               $ORGMAIL

       MSGPREFIX             msg.

       SENDMAIL              /usr/sbin/sendmail

       HOST                  Bieżąca nazwa hosta

       COMSAT                no
                             (Jeśli plik rc jest podany w linii komend)

       LOCKEXT               .lock

       Inne czyszczone lub preustawiane zmienne środowiskowe to IFS, ENV, PWD,
       PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
       :/usr/local/sbin:/usr/bin/X11 and USER=$LOGNAME.

   Środowisko
       Zanim  zgubisz  się  w  mętliku  zmiennych  środowiskowych, pamiętaj że
       wszystkie one mają sensowne wartości domyślne.

       MAILDIR     Bieżący katalog w momencie gdy  procmail  jest  uruchomiany
                   (znaczy to, że wszystkie ścieżki są relatywne do $MAILDIR).

       DEFAULT     Domyślny  plik  mailbox  (jeśli  nie  powiedziano  inaczej,
                   procmail   wrzuci   pocztę  do  tego  mailboxa).   Procmail
                   automatycznie użyje $DEFAULT$LOCKEXT jako pliku blokującego
                   przed  zapisaniem  czegoś  do  tego  mailboxa.  Nie  musisz
                   ustawiać tej zmiennej, ponieważ standardowo wskazuje ona na
                   standardowy mailbox systemu.

       LOGFILE     Plik  ten będzie zawierał wszelkie komunikaty diagnostyczne
                   i  komunikaty  o  błędach  od  procmaila,  lub  od   innych
                   programów  uruchomionych  przez  procmaila.  Jeśli plik ten
                   nie   jest   podany,   komunikaty   będą   przesyłane    do
                   wysyłającego.  Zobacz także LOGABSTRACT.

       VERBOSE     Ustawiając  tę  zmienną  na  `yes' lub `on', możesz włączyć
                   rozszerzon  diagnostyk,  wyłączyć  zaś  można  ją   przez
                   ustawienie jej na `no' lub `off'.

       LOGABSTRACT Zanim  procmail zakończy, raportuje dostarczoną wiadomość w
                   $LOGFILE, pokazując pola `From ' i  `Subject:  '  nagłówka,
                   folder  do  którego  poszła  wiadomość, oraz jej długość (w
                   bajtach). Ustawienie  tej  zmiennej  na  `no'  powstrzymuje
                   generowanie  tych  informacji.  Jeśli ustawisz ją na `all',
                   procmail będzie logował każdą pomyślnie  zakończoną  regu
                   dostarczenia, którą przetworzy.

       LOG         Wartość przyznana tej zmiennej będzie dodana do $LOGFILE.

       ORGMAIL     Zazwyczaj  mailbox  systemowy  (ORiGinal MAILbox).  Jeśli z
                   jakiegoś powodu (jak przepełnienie  systemu  plików),  list
                   nie  mógł  być  dostarczony  do  tego mailboxa, to procmail
                   dostarczy go tutaj. Jeśli jednak nie będzie mógł nawet tego
                   uczynić, to list zostanie odbity do wysyłającego.

       LOCKFILE    Globalny  plik  semaforowy.  Jeśli  plik  ten już istnieje,
                   procmail będzie czekał aż zniknie i utworzy go samodzielnie
                   (i  wyczyści  gdy  skończy).  Jeśli podano więcej niż jeden
                   plik blokujący, to poprzedni zostanie usunięty przed  próbą
                   utworzenia  nowego.  Używanie  globalnego pliku blokującego
                   jest złą praktyką, lepiej używać lokalnych.

       LOCKEXT     Domyślne  rozszerzenie,  które  jest  dodawane  do   plików
                   docelowych,   aby  określić,  którego  z  lokalnych  plików
                   blokujących użyć.

       LOCKSLEEP   Liczba sekund, które procmail ma odespać przed drugą  próbą
                   pliku  blokującego  (jeśli  taki już istniał); jeśli liczby
                   nie podano, to wynosi ona 8 sekund.

       LOCKTIMEOUT Liczba sekund, które mijają od ostatniej modyfikacji  pliku
                   blokującego,  zanim  procmail  zdecyduje,  że  musi  to być
                   błędnie pozostawiony plik blokujący, który trzeba usunąć na
                   siłę.  Wartość  zero mówi, że nie ma czasu oczekiwania i że
                   procmail ma czekać do skutku. Jeśli  nie  jest  podany,  to
                   odpowiada  1024  sekundom.  Wartość  ta  jest  przydatna  w
                   zapobieganiu         niezdefiniowanym          zawieszeniom
                   sendmaila/procmaila.

       TIMEOUT     Ilość  sekund, które muszą minąć nim procmail zdecyduje, że
                   dziecko, które  uruchomił  musiało  się  zawiesić.  Program
                   odbierze  od  procmaila  sygnał  TERMINATE, a przetwarzanie
                   pliku rc pójdzie dalej. Jeśli podano zero, to nie będzie tu
                   używany  czas  oczekiwania  i  procmail  będzie  czekać  do
                   skutku; jeśli zmienna nie  jest  podana,  wartość  domyślna
                   odpowiada 960 sekundom.

       MSGPREFIX   Przedrostek  nazwy  pliku,  który  jest  używany  w wypadku
                   dostarczania do katalogu (nie używany w katalogach MH).

       HOST        jeśli  nie  jest  to  nazwa  hosta  maszyny,  przetwarzanie
                   bieżącego pliku rc zostaje przerywane. Jeśli w linii komend
                   podano inne pliki rc, to przetwarzanie będzie  kontynuowane
                   z  następnym  z  nich. Jeśli wykorzystane zostaną wszystkie
                   pliki rc, program zakończy pracę, lecz nie wygeneruje błędu
                   (np.   mailer   będzie   sądził,   że   wiadomość   została
                   dostarczona).

       UMASK       Nazwa mówi za  siebie  (jeśli  nie,  zapomnij  o  tym  :-).
                   Wszystko  przyznane zmiennej UMASK jest interpretowane jako
                   wartość ósemkowa.  Jeśli nie jest podana, umaska ma wartość
                   077.  Jeśli  umaska  zezwala na o+x, wszystkie mailboxy, do
                   których procmail dostarcza bezpośrednio,  otrzymają  zmianę
                   trybu o+x. Może to być używane do sprawdzania, czy przybyła
                   nowa poczta.

       SHELLMETAS  Jeśli jakikolwiek ze znaków SHELLMETAS pojawi się  w  linii
                   określającej   filtr   lub   program,   to  linia  zostanie
                   przekazana   $SHELL-owi,   a    nie    zostanie    wywołana
                   bezpośrednio.

       SHELLFLAGS  Każde wywołanie $SHELL-a będzie następujące:
                   "$SHELL" "$SHELLFLAGS" "$*";

       SENDMAIL    Jeśli  nie używasz właściwości forwardowania, nie martw się
                   o to. Określa to program wzywany do forwardowania poczty.
                   Jest wywoływany jako: "$SENDMAIL" "$@";

       NORESRETRY  Ilość powtórek, które mają być dokonane  jeśli  pojawi  się
                   błąd  `process  table  full',  `file  table  full', `out of
                   memory' lub `out of  swap  space'.  Jeśli  liczba  ta  jest
                   ujemna,  procmail  będzie próbował wiecznie; jeśli nie jest
                   podana, odpowiada wartości 4. Powtórki zachodzą co $SUSPEND
                   sekund. Ideą, która kryje się za tym, jest to, że jeśli np.
                   wykorzystany został  obszar  swap,  lub  wykorzystana  jest
                   tablica  procesw,  to  wiele  innych  programów wykryje to
                   także i przerwie działanie, lub 'padnie', zwalniając  cenne
                   zasoby procmailowi.

       SUSPEND     Liczba  sekund,  podczas  których  procmail będzie pauzował
                   jeśli musi czekać  na  coś,  co  obecnie  jest  niedostępne
                   (pamięć,  fork,  itd.);  jeśli  nie  podane,  odpowiada  16
                   sekundom. Zobacz także: LOCKSLEEP.

       LINEBUF     Długość  wewnętrznych  buforów  liniowych,  nie  może   być
                   mniejsza  niż  128.  Wszystkie linie odczytywane z pliku rc
                   nie powinny mieć więcej niż  $LINEBUF  znaków  przed  i  po
                   rozszerzeniu.  Jeśli  wartość  nie  jest  podana, odpowiada
                   2048. Limit ten oczywiście nie stosuje się do samego listu,
                   który  może  mieć  określone  długości  linii, lub może być
                   plikiem binarnym.

       DELIVERED   Jeśli ustawione na `yes', to procmail będzie  udawał  przed
                   agentem  pocztowym,  że  poczta  została dostarczona. Jeśli
                   poczta  nie  mogła  być  dostarczona,  po  napotkaniu  tego
                   ustawienia zostanie utracona (nie będzie np. odbita).

       TRAP        Gdy procmail będzie kończył działanie, wywoła zawartość tej
                   zmiennej. Kopia listu może być odczytana ze stdin. Wszelkie
                   wyjście  wyprodukowane  przez  tę  komendę będzie dodane do
                   pliku $LOGFILE. Przykładowe zastosowania TRAP to:  usuwanie
                   plików  tymczasowych,  logowanie  własnych uzupełnień, itp.
                   Zobacz także EXITCODE i LOGABSTRACT.

       EXITCODE    Gdy  procmail  kończy  działanie,  a  zmienna  ta   została
                   ustawiona  na  dodatnią  wartość numeryczną, procmail użyje
                   jej jako kodu wyjścia. Jeśli  zmienna  ta  jest  ustawiona,
                   lecz pusta, procmail ustawi kod wyjścia na wartość zwracaną
                   przez  program  TRAP.   Jeśli  zmienna   ta   nie   została
                   ustawiona,  procmail  ustawi  ją na krótko przed wywołaniem
                   programu TRAP .

       LASTFOLDER  Zmienna ta jest inicjalizowana  przez  procmail  za  każdym
                   razem, gdy dostarcza coś jakiemuś folderowi lub programowi.
                   Zawsze zawiera ona nazwę ostatniego foldera (lub  programu)
                   do którego coś dostarczano.

       MATCH       Zmienna  ta  jest  inicjalizowana  przez procmail za każdym
                   razem, gdy ma on wyciągnąć tekst z  wyrażenia  regularnego.
                   Będzie   zawierać   cały  tekst  odpowiadającego  wyrażenia
                   regularnego po żetonie `\/'.

       SHIFT       Przyznanie dodatniej wartości dla tej  zmiennej  daje  taki
                   sam rezultat, jak komenda `shift' w sh(1).  Komenda ta jest
                   najbardziej użyteczna do wyciągania dodatkowych  argumentów
                   podanych   procmailowi,   podczas  gdy  działa  jako  filtr
                   pocztowy.

       INCLUDERC   Nazywa plik rc  (względny  do  bieżącego  katalogu),  który
                   powinien  być  włączony  jako  część  bieżącego  pliku  rc.
                   Dozwolone jest nieograniczone zagnieżdżanie.

       COMSAT      Notyfikacja Comsat(8)/biff(1) domyślnie jest włączona, lecz
                   można  ją  wyłączyć  przez ustawienie tej zmiennej na `no'.
                   Alternatywnie,  usługę  biff  można  dokonfigurować   przez
                   ustawienie   zmiennej   na   `service@',   `@hostname'  lub
                   `sevice@hostname'. Nie  podana  wartość  oznacza  przyjęcie
                   biff@localhost.

       DROPPRIVS   Jeśli jest to ustawione na `yes', procmail porzuci wszelkie
                   uprawnienia, jakie może mieć (suid lub sgid). Opcja ta jest
                   użyteczna, jeśli chcesz zagwarantować, że dolna część pliku
                   /etc/procmailrc jest wywoływana w imieniu odbiorcy.

   Rozszerzone wyrażenia regularne
       Następujące żetony  rozpoznawane  są  zarówno  przez  wewnętrzny  egrep
       procmaila, jak i przez standardowy egrep(1):

       ^         Początek linii.

       $         Koniec linii.

       .         Dowolny znak poza znakiem nowej linii.

       a*        Dowolna sekwencja zero lub więcej a.

       a+        Dowolna sekwencja jednego lub więcej a.

       a?        Albo zero, albo jedno a.

       [^-a-d]   Dowolny  znak, który nie jest kreską, a, b, c, d, lub znakiem
                 nowej linii.

       de|abc    Albo sekwencja `de', albo `abc'.

       (abc)*    Zero lub więcej sekwencji `abc'.

       Były  to  tylko  przykłady,  bardziej  złożone  kombinacje  sa  również
       dozwolone.

       Następujące znaczenia żetonów są znane tylko rozszerzeniom procmaila:

       ^ lub $   Dopasuj nową linię (dla trafień wieloliniowych).

       ^^        Zakotwicz wyrażenie na samym początku obszaru przeszukiwania,
                 lub jeśli  napotkane  na  końcu  wyrażenia,  na  samym  końcu
                 obszaru przeszukiwań.

       \< lub \> Dopasuj  znak  przed, lub po słowie. Są to ogólnie skróty dla
                 `[^a-zA-Z0-9_]', lecz  mogą  także  dopasowywać  znaki  nowej
                 linii.   Ponieważ odpowiadają rzeczywistym znakom, nadają się
                 tylko do oddzielania słów,  nie  do  oddzielania  przestrzeni
                 międzysłownej.

       \/        Dzieli  wyrażenie  na  dwie  części.  Wszystko  odpowiadające
                 prawej stronie będzie przyznane zmiennej środowiskowej MATCH.

PRZYKŁADY

       Zajrzyj na stronę podręcznika procmailex(5).

ZASTRZEŻENIA

       Kontynuowane  linie  w linii akcji, która określa program, muszą zawsze
       kończyć  się  lewym  ukośnikiem,  nawet  jeśli  podległa  powłoka   nie
       potrzebuje  lub nie chce lewego ukośnika do wskazania kontynuacji. Jest
       tak z powodu dwustopniowego procesu przetwarzania  (najpierw  procmail,
       potem powłoka (lub nie, zależnie od SHELLMETAS)).

       Nie   wstawiaj  komentarzy  w  regule  w  liniach  warunkowych  wyrażeń
       regularnych, linie te są przekazywane wewnętrznemu egrepowi  wprost  (z
       wyjątkiem  lewych  ukośników  kontynuacji  znajdujących  się  na  końcu
       linii).

       Początkowe białe spacje w  kontynuowanych  wyrażeniach  regularnych  są
       zazwyczaj  ignorowane  (więc  mogą  być wstawiane), lecz nie jest tak w
       kontynuowanych wyrażeniach warunkowych,  które  są  odczytywane  według
       reguł podstawiania sh(1) wewnątrz podwójnych cytatów.

       Uważaj   na   deadlocki  podczas  wykonywania  niezdrowych  rzeczy  jak
       forwardowanie poczty na swoje  własne  konto.  Deadlocki  można  złamać
       przez właściwe użycie LOCKTIMEOUT.

       Wszelkie  domyślne  wartości,  których  procmail  używa  dla  zmiennych
       środowiskowych zawsze przeciążą te, które były wcześniej  zdefiniowane.
       Jeśli  naprawdę  chcesz  przeciążyć wartości domyślne, wstaw je albo do
       pliku rc, albo wypisz w linii poleceń jako argumenty.

       Zmienne   środowiskowe,   ustawiane   wewnątrz   interpretowanej-przez-
       powłokę-`|'   części   akcji  reguły  nie  zachowają  ich  wartości  po
       zakończeniu reguły, gdyż są one ustawiane w podpowłoce  procmaila.  Aby
       upewnić  się,  że wartość zostanie zachowana, musisz dokonać przyznania
       przed początkowym `|' reguły, tak że może przechwycić stdout  programu.

       Jeśli  w  regule dostarczającej podasz tylko flagę `h' lub `b' i reguła
       ta zostanie dopasowana, to jeżeli nie użyłeś flagi  `c',   ciało  listu
       lub (odpowiednio) jego nagłówek zostaną utracone.

ZOBACZ TAKŻE

       procmail(1), procmailsc(5), procmailex(5), sh(1), csh(1), mail(1),
       mailx(1), binmail(1), uucp(1), aliases(5), sendmail(8), egrep(1),
       grep(1), biff(1), comsat(8), lockfile(1), formail(1)

BŁĘDY

       Jedyne   podstawienia   zmiennych   środowiskowych,   które   mogą  być
       obsługiwane  przez  samego  procmaila   są   typu   $nazwa,   ${nazwa},
       ${nazwa:-tekst},  ${nazwa:+tekst},  ${nazwa-tekst}, ${nazwa+tekst}, $#,
       $n, $$, $?, $_, $- i $=; gdzie $_ będzie  podmieniane  nazwą  bieżącego
       pliku  rc, $- przez $LASTFOLDER, a $= będzie zawierać punktację (score)
       ostatniej reguły.  Gdy użyte są opcje -a lub -m to "$@" rozwinie się do
       kolejno  podanego  argumentu  (listy); lecz tylko jeśli przekazany jako
       lista argumentów do programu (?)

       Procmail nie wspiera rozwijania `~'.

       Do przetwarzania pliku rc używany jest bufor liniowy długości  $LINEBUF
       i  wszelkie  rozwinięcia muszą zmieścić się w tym limicie. W przeciwnym
       wypadku zachowanie jest niezdefiniowane.

       Jeśli globalny plik blokujący ma ścieżkę relatywn  a  bieżący  katalog
       nie  jest  taki  sam  jak  na  początku,  to lokalny plik blokujący nie
       zostanie usunięty jeśli procmail zakończy w tym momencie działanie (tak
       więc: używaj dla globalnych plików blokujących ścieżek absolutnych).

       Lokalny  plik  blokujące reguły, który zaznacza początek zagnieżdżonego
       bloku nie działa jak by się tego oczekiwało.

       Gdy przechwytuje się stdinu z reguły do zmiennej środowiskowej,  jeden,
       kończący znak nowej linii zostanie obcięty.

ROŻNE

       Jeśli  wyrażenie  regularne  zawiera  `^TO', to zostanie to podmienione
       przez `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)', co powinno złapać
       wszystkie specyfikacje celu.

       Jeśli wyrażenie regularne zawiera`^FROM_DAEMON' to zostanie przez
       `(^(Precedence:.*(junk|bulk|list)|(((Resent-)?(From|Sender)|X-Envelope-
       From):|>?From )(.*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)
       |(send)?Mail(er)?|daemon|mmdf|root|n?uucp|smtp|response|LISTSERV|owner
       |request|bounce|serv(ices?|er)|Admin(istrator)?)([^).!:a-
       z0-9].*)?$[^>]))', co powinno wyłapać listy pochodzące od większości
       demonów (fajne wyrażenie regularne? :-).

       Jeśli  wyrażenie   regularne   zawiera   `^FROM_MAILER'   to   zostanie
       podmienione przez `(^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From
       )(.*[^(.%@a-z0-9])?(Post(ma(st(er)?|n)|office)|(send)?Mail(er)?|daemon
       |mmdf|root|n?uucp|smtp|response|serv(ices?|er)|Admin(istrator)?)([^).!
       :a-z0-9].*)?$[^>])' (obcięta wersja `^FROM_DAEMON'), co powinno wyłapać
       listy pochodzące od większości demonów-mailerowych.

       Podczas  przypisywania  wartości logicznych zmiennym takim jak VERBOSE,
       DELIVERED  czy  COMSAT,  procmail  przyjmuje   jako   prawdziwy   napis
       zaczynający się od: niezerowej wartości, `on', `y', `t' lub `e'.  Fałsz
       jest każdym napisem zaczynającym się od wartości zero, `off', `n',  `f'
       lub `d'.

       Jeśli   linia   akcji   reguły  określa  program,  to  pojedyncza  para
       odwrotnyukośnik-nowalinia w niej występująca, na pustej linii  zostanie
       przekształcona w nową linię.

UWAGI

       Ponieważ  niecytowane  początkowe  białe spacje są ogólnie ignorowane w
       plikach rc, możesz sobie wszystko powcinać według uznania.

       Prowadzące `|' linii akcji, wskazujące program lub filtr, jest obcinane
       przed sprawdzeniem $SHELLMETAS

       Pliki   włączane   dyrektywą  INCLUDERC  zawierające  tylko  przyznania
       wartości zmiennym środowiskowym mogą być dzielone z sh.

       naprawd   skomplikowanego   przetwarzania   możesz   nawet    rozważyć
       rekurencyjne wywoływanie procmaila.

AUTOR

       Stephen R. van den Berg w RWTH-Aachen, Germany
              berg@pool.informatik.rwth-aachen.de