procmailrc

PROCMAILRC(5)							 PROCMAILRC(5)



JMENO
       procmailrc - konfiguracni soubor programu procmail

POUZITI
       $HOME/.procmailrc

POPIS
       Chcete-li  rychle  zacit,  podivejte  se na POZNAMKY na konci manualove
       stranky.	 procmail(1).

       Tento  konfiguracni  soubor  muze  obsahovat  kombinaci	prirazeni   do
       promennych  prostredi  (z nichz nektere mohou mit pro procmail zvlastni
       vyznam),	 a  predpisy.  V  nejjednodussi	  podobe   obsahuji   predpisy
       jednoradkove  regularni vyrazy vyhledavane v hlavicce prijate e-mailove
       zpravy. Prvni predpis, ktery nalezne shodu s regularnim vyrazem,	 potom
       urci  kam  se zprava dale presune (obvykle do souboru).	Pokud se zpra-
       covani dostane az na  konec  rc	souboru,  procmail  doruci  e-mailovou
       zpravu na $DEFAULT.

       Existuji dva druhy predpisu: dorucujici a nedorucujici.	Pokud je nale-
       zena shoda v  dorucujicim  predpisu,  procmail  povazuje	 zpravu	 (ano,
       uhadli jste) za dorucenou a ukonci zpracovani konfiguracniho souboru po
       uspesnem provedeni akcniho radku predpisu.  Pokud je nalezena  shoda  v
       nedorucujicim  predpisu	zpracovani  bude  pokracovat  i	 po  provedeni
       akcniho radku tohoto predpisu.

       Dorucujici predpisy jsou ty, ktere zpusobi,  ze	hlavicky  a/nebo  telo
       zpravy	jsou  zapsany  do  souboru,  pouzity  nejakym  programem  nebo
       presmerovany na nejakou postovni adresu.

       Nedorucujici predpisy jsou ty, ktere zpusobi, ze vystup	nejakeho  pro-
       gramu  nebo  filtru je znovu zachycen procmail-em, nebo predpisy, ktere
       oteviraji vnoreny blok.

       Procmailu muzete	 rici,	ze  ma	zpracovavat  dorucujici	 predpis  jako
       nedorucujici,  kdyz uvedete priznak 'c' v hlavicce predpisu. To prinuti
       procmail vytvorit kopii prave  zpracovavane  zpravy.  Zprava  je	 tudiz
       dorucena podle predpisu, ale zaroven se s jeji kopii pokracuje ve zpra-
       covani konfiguracniho souboru.

       Pouzitim libovolneho poctu predpisu muzete svou	prichozi  postu	 velmi
       primocarym  zpusobem  roztridit	do  nekolika  slozek.  Avsak  mejte na
       pameti, ze do techto  slozek  mohou  prichazet  soucasne	 ruzne	zpravy
       (jestlize  bezi	vice instanci procmailu, coz neni neobvykle pri vetsim
       mnozstvi doslych zprav).	 Aby v tom pripade ve slozkach	nevznikl  zma-
       tek, velmi doporucujeme vhodne pouzivat zamku (angl. "lock files").


       V  konfiguracnim souboru lze libovolne michat prirazeni do promennych a
       predpisy.  Promenne, ktere maji	v  procmailu  zvlastni	vyznam,	 budou
       pouzity prislusnym zpusobem v momente zpracovani radku kde se vyskytuji
       (tzn. ze muzete kdykoliv zmenit pracovni adresar zadanim	 nove  hodnoty
       MAILDIR,	 prepinat zamky prirazenim do LOCKFILE, kdykoliv zmenit umask,
       atd., moznosti je nekonecne mnoho :-).

       Prirazovani a substituce techto promennych  se  provadi	presne	stejne
       jako  v	sh(1) (vcetne vsech moznosti uvozovani a escape sekvenci), ale
       krome toho jeste poskytuje dalsi vyhody v tom,  ze  bile	 znaky	obklo-
       pujici  '='  jsou  ignorovany.  Pokud se objevi jmeno promenne bez kon-
       coveho '=', bude tato promenna zrusena.	Jakykoliv program  uvedeny  ve
       zpetnych	 apostrofech  procmail spusti a preda mu celou zpravu na stan-
       dardni vstup.


   Komentare
       Slovo zacinajici znakem # a vsechny nasledujici znaky az do konce radku
       jsou ignorovany. Toto neplati pro radky obsahujici podminku, ty nemohou
       byt komentovany.

   Predpisy
       Radek zacinajici znakem ':' oznacuje zacatek predpisu. Ma tento format:

	      :0 [priznaky] [ : [lokalni zamek] ]
	      <jedna nebo vice podminek (jedna na radek)>
	      <prave jeden akcni radek>

       Podminkovy  radek  zacina  znakem '*'. Zbytek radku krome uvozujicich a
       koncovych mezer je poslan znak po znaku	na  vstup  vnitrniho  egrep-u.
       Regularni   vyrazy   vnitrniho  egrepu  jsou  naprosto  kompatibilni  s
       rozsirenou syntaxi  regularnich	vyrazu	programu  egrep(1).   Viz  tez
       Rozsirena syntaxe regularnich vyrazu.

       Mezi  podminkami	 v  jednom predpisu plati logicky soucin (AND).	 Pokud
       predpis neobsahuje zadnou podminku, vysledek testu bude	vzdycky	 prav-
       divy.

       Priznak muze byt jeden z nasledujicich znaku:

       H    Do programu egrep se posle zahlavi zpravy (standard).

       B    Do egrepu se posle telo zpravy.

       D    Sdeli  egrepu,  ze ma rozlisovat mala a velka pismena (standard je
	    nerozlisovat).

       A    Tento predpis bude zavisly na  poslednim  predchazejicim  predpisu
	    bez	 priznaku  'A'	nebo  'a' (na aktualni urovni vnoreni). To vam
	    umoznuje retezit akce, ktere zavisi na spolecne podmince.

       a    Ma tentyz vyznam jako 'A', ale bude zaroven	 zaviset  na  uspesnem
	    dokonceni predchoziho predpisu.

       E    Tento  predpis  se	provede	 pouze	v  pripade,  ze	 bezprostredne
	    predchazejici  predpis  nebyl  proveden.  Jeho  uspesne  provedeni
	    rovnez  znemozni  provedeni bezprostredne nasledujicich predpisu s
	    'E'. To vam umoznuje definovat akce typu 'else if'.

       e    Predpis se provede pouze v pripade, ze bezprostredne predchazejici
	    predpis  selhal.   To  vam	umoznuje  definovat akce na zpracovani
	    chyb.

       h    Zahlavi zpravy se posle na vstup roury (default).

       b    Telo zpravy se posle na vstup roury (default).

       f    S rourou se ma zachazet jako s filtrem.

       c    Vytvor kopii zpracovavane zpravy. Tento priznak ma vyznam pouze  v
	    dorucujicich  predpisech.	Jediny	druh nedorucujiciho predpisu v
	    nemz dojde tento priznak smysluplneho pouziti je  blok  (vnoreni).
	    Aby	 mohla	byt zpracovana kopie, priznak zpusobi rozdvojeni prave
	    beziciho procesu (zamky se nededi), pricemz novy proces  pokracuje
	    ve	zpracovani  obvyklym zpusobem, zatimco puvodni proces preskoci
	    blok a pokracuje za nim.

       w    Ceka na ukonceni spusteneho filtru nebo programu a otestuje navra-
	    tovou   hodnotu   (standardne   ji	ignoruje).  Pokud  bude	 filtr
	    neuspesny, text nebude filtrovan.

       W    Stejny vyznam jako priznak 'w', ale potlaci hlasky	'Program  fai-
	    lure'.

       i    Ignoruje  chyby  zapisu  v	tomto  predpisu (obvykle nastavaji pri
	    predcasnem uzavreni roury).

       r    'Hruby' rezim (raw). Nepokousi  se	ujistit	 jestli	 zprava	 konci
	    prazdnym radkem, zapise ji tak jak je.

       Muzete pouzit zvlastni podminky, ktere nejsou primo regularnimi vyrazy.
       Takove podminky musi zacinat:

       !    Negace podminky nasledujici po vykricniku.

       $    Zbytek vyhodnoti podle pravidel pro	 substituci  uvnitr  dvojitych
	    uvozovek v sh(1) , preskoci uvodni mezery a potom znovu vyhodnoti

       ?    Pouzije exit kod uvedeneho programu

       <    Otestuje zda je celkova delka zpravy mensi nez uvedeny pocet bajtu
	    (decimalne).

       >    Obdobne jako '<'.

       jmeno_promenne ??
	    Porovna zbytek s hodnotou teto promenne (nesmi se jednat  o	 pseu-
	    dopromennou).   Zvlastnim  pripadem	 jsou  'B',  'H', 'HB' a 'BH',
	    ktere pouze meni prohledavanou oblast zahlavi/tela zpravy, defino-
	    vanou pro aktualni predpis.

       \    Pouzijte,  chcete-li  pouzit  kterykoliv z vyse uvedenych znaku na
	    zacatku radku v jeho normalnim vyznamu.

   Lokalni zamek
       Pokud umistite na konec prvniho radku predpisu druhou  dvojtecku,  pro-
       cmail  pouzije  lokalni_zamek  (pouze pro aktualni predpis).  Volitelne
       muzete za dvojtecku zadat jmeno zamku, ktery chcete pouzit.  Pokud  tak
       ovsem  neucinite, procmail pouzije jmeno vystupniho souboru (nebo jmeno
       za prvni '>>'), za ktere pripoji hodnotu $LOCKEXT.

   Akcni radek predpisu
       Akcni radek muze zacinat jednim z nasledujicich znaku:

       !      Posle postu (forward) na vsechny nasledujici e-mailove adresy.

       |      Spusti program; pokud je nalezen kterykoliv znak z  $SHELLMETAS,
	      pokusi se spustit program pomoci $SHELL-u. Volitelne muzete pred
	      znak roury umistit promenna=, coz zpusobi, ze standardni	vystup
	      spusteneho programu bude ulozen do promenne.  Pokud zadate pouze
	      znak roury bez zadneho nazvu programu, procmail presmeruje obsah
	      zpravy na standardni vystup.

       {      Nasledovana alespon jednou mezerou, tabulatorem nebo znakem novy
	      radek oznacuje zacatek vnoreneho bloku. Vsechno uvnitr bloku  az
	      po  nasledujici  uzavirajici  zavorku  bude  zaviset na podmince
	      aktualniho  predpisu.   Pocet  urovni   vnoreni	neni   omezen.
	      Uzaviraci	  zavorka   pouze  ukoncuje  blok;  v  zadnem  pripade
	      nezpusobuje ukonceni procmailu. Kdyz je  dosazeno	 konce	bloku,
	      zpracovani  pokracuje  obvyklym  zpusobem za blokem. Ve vnorenem
	      bloku  maji  priznaky  'B'  a  'H'  vliv	 pouze	 na   podminky
	      predchazejici  tento blok, priznaky 'h' a 'b' nemaji vubec zadny
	      vliv.

       Cokoliv jineho bude povazovano za jmeno postovni	 schranky  (bud	 jmeno
       souboru	nebo  adresare, absolutni nebo relativni k aktualnimu adresari
       (viz MAILDIR)). Pokud se jedna o jmeno  souboru	(byt  neexistujiciho),
       zprava bude pridana na jeho konec.

       Pokud  se  jedna	 o  jmeno adresare, zprava bude dorucena do souboru se
       zarucene jedinecnym nazvem zacinajicim $MSGPREFIX, nove	vytvoreneho  v
       tomto  adresari.	 Pokud nazev adresare konci retezcem "/.", predpoklada
       se, ze se jedna o slozku systemu MH  a  procmail	 pouzije  dalsi	 volne
       cislo,  ktere  nalezne.	 Pokud	procmail  dorucuje do adresare, muzete
       zadat nekolik adresaru do nichz chcete zpravu dorucit.


   Implicitni hodnoty promennych
       LOGNAME, HOME a SHELL Vase (prijemcovy) standardni hodnoty

       SHELLMETAS	     &|<>~;?*[

       SHELLFLAGS	     -c

       ORGMAIL		     /var/spool/mail/$LOGNAME
			     (V pripade, ze bylo zadano -m nedefinovano)

       MAILDIR		     $HOME/
			     (Krome  pripadu,  kdy   jmeno   prvniho   uspesne
			     otevreneho	 rc  souboru  zacina  './';  tehdy  je
			     implicitni hodnota '.')

       DEFAULT		     $ORGMAIL

       MSGPREFIX	     msg.

       SENDMAIL		     /usr/sbin/sendmail

       HOST		     Aktualni jmeno pocitace (hostname)

       COMSAT		     no
			     (Pokud je jmeno rc souboru	 uvedeno  v  prikazove
			     radce)

       LOCKEXT		     .lock

       Ostatni nulovane nebo prednastavene promenne jsou IFS, ENV, PWD,
       PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
       :/usr/local/sbin:/usr/bin/X11 a USER=$LOGNAME.

   Dalsi promenne
       Drive  nez  vas zahlti mnozstvi promennych, mejte na pameti, ze vsechny
       maji rozumne implicitni hodnoty.

       MAILDIR	   Aktualni adresar za behu procmailu (coz znamena, ze vsechny
		   cesty jsou relativni vzhledem k $MAILDIR).

       DEFAULT	   Standardni  soubor  postovni	 schranky  (pokud  neni urceno
		   jinak, procmail  ulozi  zpravu  do  teto  schranky).	  Pred
		   zapisem  do	teto  schranky	pouzije	 procmail  automaticky
		   $DEFAULT$LOCKEXT jako zamek. Tuto promennou nemusite nasta-
		   vovat, nebot jiz obsahuje implicitni systemovou schranku.

       LOGFILE	   Tento soubor bude obsahovat jakakoliv chybova nebo diagnos-
		   ticka hlaseni procmailu (za normalnich okolnosti zadna  :-)
		   prip. jinych programu spustenych procmailem. Jestlize tento
		   soubor neni definovan, veskera  diagnosticka	 nebo  chybova
		   hlaseni budou zaslana e-mailem odesilateli zpravy.  Viz tez
		   LOGABSTRACT.

       VERBOSE	   Nastavenim teto promenne na 'yes'  nebo  'on'  (ano,	 resp.
		   zapnout;   pozn.   prekl.)  pripadne	 'no'  ci  'off'  (ne,
		   vypnout) muzete zapinat respektive vypinat rozsirenou diag-
		   nostiku.

       LOGABSTRACT Tesne  pred	svym  ukoncenim	 zapise	 procmail  do  souboru
		   $LOGFILE shrnuti zpravy: zahlavi 'From:' a  'Subject:',  do
		   jake slozky (schranky) byla zprava ulozena a jaka byla jeji
		   delka v bajtech. Nastavenim teto promenne na 'no' se	 vypis
		   potlaci.  Nastavenim	 teto  promenne	 na 'all' (vsechno) se
		   zajisti  vypis  pro	kazdy  uspesne	dokonceny   dorucujici
		   predpis.

       LOG	   Cokoliv  prirazene  teto promenne bude pripojeno do souboru
		   $LOGFILE.

       ORGMAIL	   Obvykle systemova schranka  (ORiGinal  MAILbox).   Pokud  z
		   nejakeho  tajemneho duvodu nemuze byt zprava dorucena, tato
		   schranka  bude  posledni  moznosti.	Pokud	se   procmailu
		   nepodari  zpravu  ulozit ani sem (moc, moc spatny :-) vrati
		   zpravu odesilateli.

       LOCKFILE	   Globalni semafor. Pokud tento soubor jiz existuje, procmail
		   pred	 dalsim	 zpracovanim  pocka  az	 zmizi;	 potom jej sam
		   vytvori (a samozrejme take smaze, kdyz  skonci).  Pokud  je
		   specifikovan	 vice  nez  jeden  semafor  bude ten predchozi
		   smazan drive nez se zkusi vytvorit novy. Uzivani globalniho
		   semaforu  se	 nedoporucuje.	Tam  kde je to mozne, pouzijte
		   misto toho lokalni zamky (na bazi jednotlivych predpisu).

       LOCKEXT	   Implicitni pripona, jejimz  pripojenim  ke  jmenu  ciloveho
		   souboru se ziska jmeno lokalniho zamku (pokud jsou zapnuty,
		   pro jednotlive predpisy).

       LOCKSLEEP   Pocet sekund, ktere procmail vycka  nez  opet  zkusi	 zamek
		   (pokud jiz existoval); pokud neni specifikovano, implicitni
		   hodnota je 8 sekund.

       LOCKTIMEOUT Pocet sekund, ktere musi uplynout od casu posledni  modifi-
		   kace/vytvoreni  zamku  aby  procmail usoudil, ze se to musi
		   byt soubor pozustaly v dusledku chyby, ktery nyni muze  byt
		   nucene   odstranen.	Pokud  je  nastavena  nula,  lhuta  se
		   nepouzije a procmail bude  cekat  navzdy  dokud  se	soubor
		   neodstrani;	pokud neni specifikovana zadna hodnota, impli-
		   citne 1024 sekund. Tato promenna se	hodi  proti  zacykleni
		   sendmailu/procmailu.	  Procmail  je	imunni	vuci odchylkam
		   hodin na ruznych pocitacich.

       TIMEOUT	   Pocet sekund, ktere musi uplynout nez procmail  usoudi,  ze
		   nektery  z  dcerinych  procesu, ktere spustil, musel zamrz-
		   nout. Dotycny program obdrzi od procmailu signal  TERMINATE
		   a  zpracovani konfiguracniho souboru bude pokracovat. Pokud
		   je nula, lhuta se nepouzije a procmail ceka dokud  se  neu-
		   konci  dceriny  process;  neni-li  hodnota specifikovana je
		   implicitni hodnota 960 sekund.

       MSGPREFIX   Predpona souboru, pokud  se	zprava	dorucuje  do  adresare
		   (nepouziva se pri dorucovani do MH adresare).

       HOST	   Pokud  toto	neni  totozne  se jmenem pocitace, ktere vraci
		   hostname zpracovani aktualniho  konfiguracniho  souboru  se
		   okamzite  ukonci.  Pokud  byly  na  prikazove radce uvedeny
		   dalsi soubory, zpracovani bude  pokracovat  nasledujicim  z
		   nich.  Pokud	 jiz  byly vsechny pouzity, program se ukonci,
		   ale nezpusobi chybu (tzn. ze postovnimu  programu  se  bude
		   zdat, ze posta byla dorucena).

       UMASK	   Jmeno  rika vse (pokud ne, zapomente na nej :-).  Jakakoliv
		   hodnota prirazena UMASK bude interpretovana jako  osmickove
		   cislo.  Neni-li  specifikovano,  maska  je implicitne 0777.
		   Pokud maska dovoluje o+x, vsechny schranky  do  nichz  pro-
		   cmail  dorucuje primo prodelaji zmenu o+x.  To se da pouzit
		   ke kontrole zda prisla nova posta.

       SHELLMETAS  Pokud se kterykoliv ze znaku retezce	 SHELLMETAS  objevi  v
		   radku  obsahujicim filtr nebo program, radek bude poslan do
		   $SHELL namisto primeho spusteni.

       SHELLFLAGS  Jakekoliv volani $SHELL-u bude uskutecneno ve tvaru
		   "$SHELL" "$SHELLFLAGS" "$*";

       SENDMAIL	   Pokud nepouzivate presmerovani (forwarding), nelamte	 si  s
		   timhle hlavu. Urcuje program, ktery bude forwardovat jakou-
		   koliv postu.
		   Vola se jako: "$SENDMAIL" "$@";

       NORESRETRY  Pocet opakovanych pokusu pred tim  nez  nastane  nektera  z
		   chyb 'process table full' (zaplneni tabulky procesu), 'file
		   table full' (zaplneni tabulky  souboru),  'out  of  memory'
		   (nedostatek	pameti)	 nebo  'out  of	 swap space' (zaplneni
		   odkladaciho prostoru). Pokud je toto	 cislo	zaporne,  pro-
		   cmail  to  bude  zkouset  donekonecna;  pokud neni specifi-
		   kovano, implicitni hodnota je 4. Dalsi pokusy  o  opakovani
		   akce nastavaji v intervalu $SUSPEND sekund. Myslenka tohoto
		   usporadani spociva v tom, ze pokud je napr. vycerpan swapo-
		   vaci	 prostor  nebo se zaplnila tabulka procesu, obvykle to
		   zjisti nekolik dalsich programu, ktere bud skonci nebo zko-
		   labuji  cimz	 uvolni nedostavajici se systemove zdroje pro-
		   cmailu.

       SUSPEND	   Cas	v  sekundach  kdy  bude	 procmail  cekat  na  neco  co
		   momentalne  neni  k	dispozici (pamet, fork, atd.); neni-li
		   specifikovano, implicitni hodnota je 16 sekund.   Viz  tez:
		   LOCKSLEEP.

       LINEBUF	   Delka  interni  radkove  vyrovnavaci pameti. Nelze nastavit
		   mensi nez 128.  Delka zadneho radku v konfiguracnim souboru
		   by  nemela  prekrocit  $LINEBUF znaku pred ani po provedeni
		   substituci. Pokud neni  specifikovano,  standard  je	 2048.
		   Toto omezeni samozrejme neplati na zpravu samotnou; ta muze
		   mit libovolne delky radku nebo muze byt i  binarnim	soubo-
		   rem.

       DELIVERED   Pokud  je  nastavena	 na  'yes',  procmail  bude predstirat
		   (MTA), ze zprava byla dorucena. Pokud pri takovem nastaveni
		   nelze  zpravu  dorucit, zprava bude navzdy ztracena (nebude
		   odeslana na postmastera apod.).

       TRAP	   Pri ukonceni procmailu  se  provede	obsah  teto  promenne.
		   Kopie   zpravy   je	k  dispozici  na  standardnim  vstupu.
		   Jakykoliv vystup vytvoreny timto prikazem bude pripojen  do
		   souboru   $LOGFILE.	 Mozna	 pouziti   TRAP-u:  odstraneni
		   docasnych souboru, na miru site vytahy zprav, atd. Viz tez:
		   EXITCODE a LOGABSTRACT.

       EXITCODE	   Pokud  byla teto promenne prirazena kladna hodnota, pouzije
		   se jako navratova hodnota pri ukonceni procmailu. Pokud  je
		   tato	 promenna specifikovana, ale prazdna, procmail pouzije
		   navratovou  hodnotu	vracenou  programem  TRAP  Pokud  tato
		   promenna  neni  nastavena,  procmail ji nastavi kratce pred
		   vyvolanim programu TRAP.

       LASTFOLDER  Tuto promennou nastavi  procmail  kdykoliv  doruci  nejakou
		   zpravu  do  slozky  nebo  do	 programu. Vzdy obsahuje jmeno
		   slozky (nebo programu) kam procmail dorucil zpravu.

       MATCH	   Procmail priradi teto promenne hodnotu kdykoliv  ma	ulozit
		   text	 z  uspesne  porovnaneho  regularniho vyrazu. Obsahuje
		   veskery text vyhovujici regularnimu	vyrazu	za  specialnim
		   znakem '\/'.

       SHIFT	   Prirazeni kladne hodnoty teto promenne ma stejny efekt jako
		   prikaz 'shift' v sh(1).  Tento prikaz ma  nejvetsi  vyuziti
		   pri	ziskani	 dalsich argumentu predanych procmailu kdyz je
		   pouzit jako genericky filtr e-mailovych zprav.

       INCLUDERC   Jmeno  konfiguracniho   souboru   (relativni	  vzhledem   k
		   aktualnimu adresari), ktery bude zarazen do zpracovani jako
		   by byl soucasti aktualniho konfiguracniho souboru. Je povo-
		   leno neomezene vnorovani.

       COMSAT	   Implicitne  je  notifikace Comsat(8)/biff(1) zapnuta. Da se
		   vypnout nastavenim teto promenne na 'no'.  Alternativne lze
		   sluzbu   biff  upravit  nastavenim  teto  promenne  bud  na
		   'sluzba@', '@hostname',  nebo  'sluzba@hostname'.   Neni-li
		   specifikovano, pouzije se biff@localhost.

       DROPPRIVS   Nastavi-li  se  na  'yes',  procmail 'shodi' vsechna prava,
		   kterych eventualne mohl nabyt (suid, sgid).	Toto  se  hodi
		   pouze  v  pripade,  ze  chcete,  aby	 se zbyla cast souboru
		   /etc/procmailrc provedla jmenem prijemce.

   Rozsirene regularni vyrazy
       Nasledujici specialni konstrukce pouziva jak interni egrep v procmailu,
       tak standardni egrep(1):

       ^	 Zacatek radku.

       $	 Konec radku.

       .	 Jakykoliv znak krome konce radku.

       a*	 Posloupnost libovolneho, i nuloveho poctu acek.

       a+	 Posloupnost jednoho nebo vice acek.

       a?	 Jedno nebo zadne a.

       [^-a-d]	 Jakykoliv  znak,  ktery  neni	pomlcka, a, b, c, d nebo konec
		 radku.

       de|abc	 Bud posloupnost 'de' nebo 'abc'.

       (abc)*	 Zadny vyskyt  nebo  libovolny	pocet  opakovani  posloupnosti
		 'abc'.

       Tohle byly samozrejme pouze priklady. Jakakoliv slozitejsi kombinace je
       rovnez pripustna.

       Nasledujici specialni konstrukce pouziva procmail jako rozsireni:

       ^ nebo $	 Odpovida novemu radku (u viceradkovych porovnani).

       ^^	 Zakotvi vyraz na uplnem zacatku porovnavane oblasti, resp. na
		 jejim	uplnem	konci  je-li  tato kombinace nalezena na konci
		 vyrazu.

       \< nebo \>
		 Porovnani se shoduje se znakem pred  anebo  za	 slovem.  Tyto
		 specialni  vyrazy  jsou pouhym synonymem pro '[^a-zA-Z0-9_]',
		 ale shoda nastane i pro znak 'novy radek'.  Jelikoz tyto sym-
		 boly  se  shoduji  se skutecnymi znaky, lze je pouzit pouze k
		 oddeleni slov, nikoli pro odliseni mezer mezi slovy.

       \/	 Rozdeluje vyraz na dve casti. Vsechno co se shoduje  v	 prave
		 casti se priradi promenne MATCH.

PRIKLADY
       Viz manualova stranka procmailex(5).

VAROVANI
       Akcni  radek,  ktery  pokracuje	na  dalsim  radku  musi vzdycky koncit
       obracenym lomitkem, dokonce ani kdyby spousteny shell nepotreboval nebo
       nechtel, aby obracene lomitko takovy radek oznacovalo.  Duvod spociva v
       dvoufazovem procesu analyzy radku (nejdriv procmail, potom shell	 (nebo
       take ne, v zavislosti na SHELLMETAS)).

       Nedavejte  na  podminkove  radky	 s regularnimi vyrazy zadne komentare,
       protoze	cely  radek  je	 kompletne  predan  internimu  egrepu	(krome
       pokracovacich obracenych lomitek na konci radku).

       Uvodni  mezera  na  radku  na nemz pokracuje regularni vyraz je obvykle
       ignorovana  (takze  muzete  pokracovani	odsadit),   ale	  nikoliv   na
       pokracovacich  radcich, na nichz jsou provadeny substituce podle pravi-
       del pro substituce uvnitr dvojitych zavorek sh(1).

       Davejte si pozor na zacykleni pri provadeni nezdravych veci, jako treba
       odeslani	 zpravy	 (forward)  na	svuj vlastni ucet.  Zacykleni muze byt
       preruseno spravnym pouzitim LOCKTIMEOUT.

       Jakekoliv  implicitni  (standardni)  hodnoty,  ktere  ma	 procmail  pro
       nektere	promenne  vzdycky  prepisi uz definovane hodnoty. Pokud chcete
       implicitni hodnoty s jistotou zmenit, musite nove hodnoty  definovat  v
       konfiguracnim souboru, nebo jako parametr na prikazovem radku.

       Promenne	 nastavene  uvnitr  akce  typu	'|' spoustene shellem si neza-
       chovavaji sve hodnoty po ukonceni predpisu  jelikoz  jsou  nastaveny  v
       podrizenem  shellu  spustenem procmailem.  Chcete-li mit jistotu, ze si
       promenna podrzi svou hodnotu,, musite provest prirazeni jeste pred uvo-
       zujicim '|' predpisu.

       Pokud definujete v dorucujicim predpisu priznak 'h' nebo 'b' a dojde ke
       shode podminky, pak, pokud jste nedefinovali zaroven priznak 'c',  telo
       zpravy resp. zahlavi bude bez varovani ztraceno.

VIZ TEZ
       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)

CHYBY
       Procmail je schopen sam o sobe provadet substituce promennych pouze to-
       hoto typu: $jmeno, ${jmeno}, ${jmeno:-text},  ${jmeno:+text},  ${jmeno-
       text},  ${jmeno+text},  $#, $n, $$, $?, $_, $- a $=; pricemz za $_ bude
       dosazeno jmeno aktualniho konfiguracniho souboru, za $-	$LASTFOLDER  a
       $= bude obsahovat vysledek posledniho predpisu.	Kdyz jsou pouzity vol-
       by -a nebo -m za "$@" se	 dosadi	 prislusny  parametr  (resp.  seznam).
       Ovsem pouze je-li predavan v seznamu parametru nejakemu programu.

       Procmail nepodporuje substituci '~'.

       Pri  zpracovavani konfiguracniho souboru se pouziva radkova vyrovnavaci
       pamet (radkovy buffer) o delce  $LINEBUF.   Jakekoliv  rozsireni	 zpra-
       covavaneho radku pri substitucich se musi vejit do tohoto limitu; pokud
       ne, dojde k nedefinovanemu chovani programu.

       Pokud ma globalni semafor (zamek) relativni cestu, a  aktualni  adresar
       neni  ten  v  nemz byl semafor vytvoren, potom semafor nebude odstranen
       pokud procmail v tomto  miste  skonci  (reseni:	pro  globalni  semafor
       pouzivejte absolutni cestu).

       Lokalni	semafor v predpisu, ktery otevira vnoreny blok nebude fungovat
       tak jak cekate.

       Pri ulozeni obsahu standardniho	vystupu	 do  promenne  bude  odstranen
       prave jeden koncovy znak 'novy radek'.

RUZNE
       Pokud regularni vyraz obsahuje '^TO', bude tento retezec nahrazen vyra-
       zem '(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)', coz by melo zachytit
       vsechny mozne specifikace adresata.

       Pokud regularni vyraz obsahuje '^FROM_DAEMON', bude to nahrazeno	 vyra-
       zem '(^(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].*)?$[^>]))', coz by melo zachytit zpravy odeslane vetsinou
       demonu.

       Pokud regularni vyraz obsahuje '^FROM_MAILER', bude to nahrazeno	 vyra-
       zem '(^(((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].*)?$[^>])' (orezana verze '^FROM_DAEMON'), coz by melo zachytit
       zpravy od vetsiny postovnich demonu.

       Pro  prirazeni  logickych hodnot promennym jako VERBOSE, DELIVERED nebo
       COMSAT procmail akceptuje jako  logickou	 jednicku  jakykoliv  retezec,
       ktery  zacina:  nenulovou hodnotou, slovem 'on', 'y', 't' nebo 'e'. Ne-
       pravda (logicka 0) je jakykoliv retezec	zacinajici  nulovou  hodnotou,
       'off', 'n', 'f' nebo 'd'.

       Pokud akcni radek predpisu specifikuje program, pak radek skladajici se
       z pouhe dvojice zpetne lomitko-novy radek na jinak prazdnem radku  bude
       preveden na znak novy radek.

POZNAMKY
       Jelikoz v konfiguracnim souboru se vseobecne ignoruji uvodni bile znaky
       bez uvozovek, muzete je vyuzit zcela dle sve chuti k odsazovani	textu.

       Uvodni  '|'  na	zacatku	 akcniho radku, ktere specifikuje program nebo
       filtr se odreze jeste pred testovanim radku na pritomnost SHELLMETAS.

       Soubory zahrnute direktivou INCLUDERC a obsahujici pouze	 prirazeni  do
       promennych mohou byt sdileny s sh.

       Chcete-li opravdu komplikovane zpracovani, muzete zvazit dokonce rekur-
       zivni volani procmailu.

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



BuGless				  1994/10/31			 PROCMAILRC(5)

Personal Tools