Provided by: manpages-cs_0.18.20090209-1_all bug

JMÉNO

       procmailrc - konfigurační soubor programu procmail

POUŽITÍ

       $HOME/.procmailrc

POPIS

       Chcete-li  rychle  začít,  podívejte  se na POZNÁMKY na konci manuálové
       stránky procmail(1).

       Tento konfigurační soubor může obsahovat směs přiřazení  do  proměnných
       prostředí  (z  nichž  některé mohou mít pro procmail zvláštní význam) a
       předpisů.   V  nejjednodušší  podobě  obsahují  předpisy   jednořádkové
       regulární výrazy vyhledávané v hlavičce přijaté e-mailové zprávy. První
       předpis, který nalezne shodu s regulárním výrazem, potom  určí  kam  se
       zpráva  dále  přesune (obvykle do souboru). Pokud se zpracování dostane
       až na konec rc souboru, procmail doručí e-mailovou zprávu na  $DEFAULT.

       Existují  dva  druhy  předpisů:  doručující  a  nedoručující.  Pokud je
       nalezena shoda v doruujcm pedpisu, procmail považuje  zprávu  (ano,
       uhádli jste) za doručenou a ukon zpracovn konfiguračního souboru po
       úspěšném provedení akčního řádku předpisu.  Pokud je nalezena  shoda  v
       nedoruujcm  pedpisu  zpracování  bude  pokraovat  i  po  provedení
       akčního řádku tohoto předpisu.

       Doručující předpisy jsou ty, které způsobí,  že  hlavičky  a/nebo  tělo
       zprávy   jsou  zapsány  do  souboru,  použity  nějakým  programem  nebo
       přesměrovány na nějakou poštovní adresu.

       Nedoručující předpisy  jsou  ty,  které  způsobí,  že  výstup  nějakého
       programu  nebo  filtru  je  znovu  zachycen procmail-em, nebo předpisy,
       které otevírají vnořený blok.

       Procmailu můžete  říci,  že  má  zpracovávat  doruujc  pedpis  jako
       nedoručující,  když uvedete příznak 'c' v hlavičce předpisu. To přinutí
       procmail vytvořit kopii právě  zpracovávané  zprávy.  Zpráva  je  tudíž
       doručena  podle  předpisu,  ale  zároveň  se  s její kopií pokračuje ve
       zpracování konfiguračního souboru.

       Použitím libovolného počtu předpisů můžete svou  příchozí  poštu  velmi
       přímočarým  způsobem  roztřídit  do  několika  složek.  Avšak  mějte na
       paměti, že do těchto  složek  mohou  přicházet  současně  různé  zprávy
       (jestliže  běží  více instancí procmailu, což není neobvyklé při větším
       množství došlých zpráv).   Aby  v  tom  případě  ve  složkách  nevznikl
       zmatek,  velmi doporučujeme vhodně používat zámků (angl. "lock files").

       V konfiguračním souboru lze libovolně míchat  přiřazení  do  proměnných
       prostředí  a  předpisy.   Proměnné,  které  mají  v  procmailu zvláštní
       význam, budou použity příslušným způsobem v  momentě  zpracování  řádku
       kde  se  vyskytují  (tzn.  že  můžete  kdykoliv změnit pracovní adresář
       zadáním nové hodnoty MAILDIR, přepínat zámky  přiřazením  do  LOCKFILE,
       kdykoliv změnit umask, atd., možností je nekonečně mnoho :-).

       Přiřazování  a  substituce  těchto  proměnných se provádí přesně stejně
       jako v sh(1)  (včetně všech možností uvozování a escape sekvencí),  ale
       kromě  toho  ještě  poskytuje  další  výhody  v  tom,  že prázdné znaky
       obklopující '=' jsou ignorovány.  Pokud se objeví  jméno  proměnné  bez
       koncového  '=',  bude tato proměnná zrušena.  Jakýkoliv program uvedený
       ve zpětných apostrofech procmail spustí a  předá  mu  celou  zprávu  na
       standardní vstup.

   Komentáře
       Slovo začínající znakem # a všechny následující znaky až do konce řádku
       jsou ignorovány. Toto neplatí pro řádky obsahující podmínku, ty nemohou
       být komentovány.

   Předpisy
       Řádek začínající znakem ':' označuje začátek předpisu. Má tento formát:

              :0 [pznaky] [ : [lokln_zmek] ] <jedna nebo více
              podmínek (jedna na řádek)> <právě jeden akční řádek>

       Podmínkový řádek začíná znakem `*'. Zbytek řádku  kromě  uvozujících  a
       koncových  mezer  je  poslán  znak po znaku na vstup vnitřního egrep-u.
       Regulární  výrazy  vnitřního  egrepu  jsou  naprosto   kompatibilní   s
       rozšířenou  syntaxí  regulárních  výrazů  programu  egrep(1).   Viz též
       Rozšířená syntaxe regulárních výrazů.

       Mezi podmínkami v jednom předpisu platí logický  součin  (AND).   Pokud
       předpis   neobsahuje  žádnou  podmínku,  výsledek  testu  bude  vždycky
       pravdivý.

       Pznak může být jeden z následujících znaků:

       H    Do programu egrep se pošle záhlaví zprávy (standard).

       B    [přibližně] Do egrepu se pošle tělo zprávy.

       D    Sdělí egrepu, že má rozlišovat malá a velká písmena  (standard  je
            nerozlišovat).

       A    Tento  předpis  bude  závislý na posledním předcházejícím předpisu
            bez příznaku `A' nebo `a' (na aktuální  úrovni  vnoření).  To  vám
            umožňuje řetězit akce, které závisí na společné podmínce.

       a    Má  tentýž  význam  jako `A', ale bude zároveň záviset na spnm
            dokončení předchozího předpisu.

       E    Tento  předpis  se  provede  pouze  v  případě,  že  bezprostředně
            předcházející  předpis  nebyl  proveden.  Jeho  úspěšné  provedení
            rovněž znemožní provedení bezprostředně následujících  předpisů  s
            `E'. To vám umožňuje definovat akce typu `else if'.

       e    Předpis se provede pouze v případě, že bezprostředně předcházející
            předpis selhal.  To vám  umožňuje  definovat  akce  na  zpracování
            chyb.

       h    Záhlaví  zprávy  se pošle na vstup roury, do souboru nebo na místo
            určení zprávy (default).

       b    Tělo zprávy se pošle na vstup roury,  do  souboru  nebo  na  místo
            určení zprávy (default).

       f    S rourou se má zacházet jako s filtrem.

       c    Vytvoř  kopii zpracovávané zprávy. Tento příznak má význam pouze v
            doruujcch předpisech. Jediný  druh  nedoručujícího  předpisu  v
            němž  dojde  tento příznak smysluplného použití je blok (vnoření).
            Aby mohla být zpracována kopie, příznak způsobí  rozdvojení  právě
            běžícího  procesu (zámky se nedědí), přičemž nový proces pokračuje
            ve zpracování obvyklým způsobem, zatímco původní  proces  přeskočí
            blok a pokračuje za ním.

       w    Čeká  na  ukončení  spuštěného  filtru  nebo  programu  a otestuje
            návratovou hodnotu (standardně  ji  ignoruje).  Pokud  bude  filtr
            neúspěšný, text nebude filtrován.

       W    Stejný  význam  jako  příznak  `w',  ale  potlačí  hlášky `Program
            failure'.

       i    Ignoruje chyby zápisu v  tomto  předpisu  (obvykle  nastávají  při
            předčasném uzavření roury).

       r    `Hrubý'  režim  (raw).  Nepokouší  se  ujistit jestli zpráva končí
            prázdným řádkem, zapíše ji tak jak je.

       Můžete použít zvláštní podmínky, které nejsou přímo regulárními výrazy.
       Takové podmínky musí začínat:

       !    Negace podmínky následující po vykřičníku.

       $    Zbytek  podmínky  vyhodnotí  podle  pravidel pro substituci uvnitř
            dvojitých uvozovek v sh(1)  , přeskočí úvodní mezery a potom znovu
            vyhodnotí.

       ?    Použije návratový kód uvedeného programu.

       <    Otestuje,  zda  je  celková  délka  zprávy menší než uvedený počet
            bajtů (decimálně).

       >    Obdobně jako '<'.

       jméno_proměnné ??
            Porovná zbytek podmínky s hodnotou této proměnné (nesmí se  jednat
            o pseudoproměnnou). Zvláštním případem jsou `B', `H', `HB' a `BH',
            které  pouze  mění  prohledávanou  oblast   záhlaví/těla   zprávy,
            definovanou pro aktuální předpis.

       \    Použijte,  chcete-li  použít  kterýkoliv z výše uvedených znaků na
            začátku řádku v jeho normálním významu.

   Lokální zámek
       Pokud umístíte  na  konec  prvního  řádku  předpisu  druhou  dvojtečku,
       procmail  použije lokln_zmek (pouze pro aktuální předpis). Volitelně
       můžete za dvojtečku zadat jméno zámku, který chcete použít.  Pokud  tak
       ovšem  neučiníte, procmail použije jméno výstupního souboru (nebo jméno
       za první '>>'), za které připojí hodnotu $LOCKEXT.

   Akční řádek předpisu
       Akční řádek může začínat jedním z následujících znaků:

       !      Pošle poštu (forward) na všechny následující e-mailové adresy.

       |      Spustí určený  program;  pokud  je  nalezen  kterýkoliv  znak  z
              $SHELLMETAS,   pokusí   se   spustit  program  pomocí  $SHELL-u.
              Volitelně můžete před znak roury umístit promnn=, což způsobí,
              že standardní výstup spuštěného programu bude uložen do promnn
              prostředí  (procmail  v  tomto   místě   neukončí   zpracovávání
              konfiguračního  souboru).   Pokud  zadáte  pouze  znak roury bez
              žádného názvu programu,  procmail  přesměruje  obsah  zprávy  na
              standardní výstup.

       {      Následována alespoň jednou mezerou, tabulátorem nebo znakem nový
              řádek označuje začátek vnořeného bloku. Všechno uvnitř bloku  až
              po  následující  uzavírající  závorku  bude  záviset na podmínce
              aktuálního  předpisu.   Počet  úrovní   vnoření   není   omezen.
              Uzavírací   závorka   pouze  ukončuje  blok;  v  dnm  ppad
              nezpůsobuje ukončení procmailu. Když je  dosaženo  konce  bloku,
              zpracování  pokračuje  obvyklým  způsobem za blokem. Ve vnořeném
              bloku  mají  příznaky  `B'  a  `H'  vliv   pouze   na   podmínky
              předcházející  tento blok, příznaky `h' a `b' nemají vůbec žádný
              vliv.

       Cokoliv jiného bude považováno za jméno poštovní  schránky  (buď  jméno
       souboru  nebo  adresáře, absolutní nebo relativní k aktuálnímu adresáři
       (viz MAILDIR)). Pokud se jedná o jméno  souboru  (byť  neexistujícího),
       zpráva bude přidána na jeho konec.

       Pokud  se  jedná  o  jméno adresáře, zpráva bude doručena do souboru se
       zaručeně jedinečným názvem začínajícím $MSGPREFIX, nově  vytvořeného  v
       tomto  adresáři.  Pokud název adresáře končí řetězcem "/.", předpokládá
       se, že se jedná o složku systému MH  a  procmail  použije  další  volné
       číslo,  které  nalezne.   Pokud  jméno  schránky končí na "/", je tento
       adresář považován za složku maildir;  tj.  procmail  doručí  zprávu  do
       souboru  v  podadresáři  pojmenovaném "tmp" a přejmenuje jej, aby byl v
       podadresáři "new". Pokud je schránka určena jako složka MH nebo  složka
       maildir,  procmail  vytvoří potřebné adresáře, pokud neexistují; nebude
       považovat  schránku  za  neexistující  jméno  souboru.  Pokud  procmail
       doručuje  do  adresáře,  můžete  zadat několik adresářů do nichž chcete
       zprávu doručit (procmail k tomu používá hardlinky).

   Implicitní hodnoty proměnných
       LOGNAME, HOME a SHELL Vaše (příjemcovy) standardní hodnoty

       PATH                  $HOME/bin:/bin:/usr/bin:/usr/local/bin
                             :/usr/bin/X11   (Výjimkou   je   doba  zpracování
                             souboru /etc/procmailrc, kdy je nastavena na
                             `/bin:/usr/bin:/usr/local/bin:/usr/bin/X11'.)

       SHELLMETAS            &|<>~;?*[

       SHELLFLAGS            -c

       ORGMAIL               /var/spool/mail/$LOGNAME
                             (V případě, že bylo zadáno -m nedefinováno)

       MAILDIR               $HOME/
                             (Kromě   případu,   kdy   jméno  prvního  úspěšně
                             otevřeného  rc  souboru  začíná  `./'  nebo  bylo
                             zadáno -m; tehdy je implicitní hodnota `.')

       DEFAULT               $ORGMAIL

       MSGPREFIX             msg.

       SENDMAIL              /bin/mail

       SENDMAILFLAGS

       HOST                  Aktuální jméno počítače (hostname)

       COMSAT                no
                             (Pokud  je  jméno  rc  souboru určeno v příkazové
                             řádce)

       PROCMAIL_VERSION      3.22

       LOCKEXT               .lock

       Ostatní nulované nebo přednastavené proměnné jsou IFS, ENV a PWD.

       Z bezpečnostních důvodů vymaže procmail při  startu  všechny  proměnné,
       které by které by mohly ovlivnit chování runtime linkeru.

   PROSTŘEDÍ
       Dříve  než  vás zahltí množství proměnných, mějte na paměti, že všechny
       mají rozumné implicitní hodnoty.

       MAILDIR     Aktuální adresář za běhu procmailu (což znamená, že všechny
                   cesty jsou relativní vzhledem k $MAILDIR).

       DEFAULT     Standardní  soubor  poštovní  schránky  (pokud  není určeno
                   jinak, procmail  uloží  zprávu  do  této  schránky).   Před
                   zápisem  do  této  schránky  použije  procmail  automaticky
                   $DEFAULT$LOCKEXT  jako  zámek.  Tuto   proměnnou   nemusíte
                   nastavovat,   neboť   již  obsahuje  implicitní  systémovou
                   schránku.

       LOGFILE     Tento  soubor  bude  obsahovat   jakákoliv   chybová   nebo
                   diagnostická  hlášení  procmailu  (za  normálních okolností
                   žádná :-)  příp.  jiných  programů  spuštěných  procmailem.
                   Jestliže  tento soubor není definován, veškerá diagnostická
                   nebo chybová hlášení  budou  zaslána  e-mailem  odesilateli
                   zprávy.  Viz též LOGABSTRACT.

       VERBOSE     Nastavením  této  proměnné  na  `yes' nebo `on' (ano, resp.
                   zapnout;  pozn.   překl.)  případně  `no'  či  `off'   (ne,
                   vypnout)   můžete  zapínat  respektive  vypínat  rozenou
                   diagnostiku.

       LOGABSTRACT Těsně  před  svým  ukončením  zapíše  procmail  do  souboru
                   $LOGFILE  shrnutí  zprávy: záhlaví `From:' a `Subject:', do
                   jaké složky (schránky) byla zpráva uložena a jaká byla její
                   délka  v bajtech. Nastavením této proměnné na `no' se výpis
                   potlačí. Nastavením této proměnné  na  `all'  (všechno)  se
                   zajistí   výpis  pro  každý  úspěšně  dokončený  doruujc
                   pedpis.

       LOG         Cokoliv přiřazené této proměnné bude připojeno  do  souboru
                   $LOGFILE.

       ORGMAIL     Obvykle  systémová  schránka  (ORiGinal  MAILbox).  Pokud z
                   nějakého tajemného důvodu (jako `filesystem  full')  nemůže
                   být  zpráva doručena, tato schránka bude poslední možností.
                   Pokud se procmailu nepodaří zprávu uložit ani sem (móc, moc
                   špatný :-) vrátí zprávu odesílateli.

       LOCKFILE    Globální semafor. Pokud tento soubor již existuje, procmail
                   před dalším zpracováním  počká  až  zmizí;  potom  jej  sám
                   vytvoří  (a  samozřejmě  také smaže, když skončí). Pokud je
                   specifikován více než  jeden  semafor  bude  ten  předchozí
                   smazán dříve než se zkusí vytvořit nový. Užívání globálního
                   semaforu se nedoporučuje. Tam kde  je  to  možné,  použijte
                   místo toho lokální zámky (na bázi jednotlivých předpisů).

       LOCKEXT     Implicitní  přípona,  jejímž  připojením  ke jménu cílového
                   souboru se získá jméno loklnho zmku (pokud jsou zapnuty,
                   pro jednotlivé předpisy).

       LOCKSLEEP   Počet  sekund,  které  procmail  vyčká než opět zkusí zmek
                   (pokud již existoval); pokud není specifikováno, implicitní
                   hodnota je 8 sekund.

       LOCKTIMEOUT Počet   sekund,   které  musí  uplynout  od  času  poslední
                   modifikace/vytvoření zmku aby procmail usoudil, že  se  to
                   musí být soubor pozůstalý v důsledku chyby, který nyní může
                   být nuceně odstraněn. Pokud je  nastavena  nula,  lhůta  se
                   nepoužije  a  procmail  bude  čekat  navždy dokud se soubor
                   neodstraní;  pokud  není   specifikována   žádná   hodnota,
                   implicitně   1024  sekund.  Tato  proměnná  se  hodí  proti
                   zacyklení sendmailu/procmailu.   Procmail  je  imunní  vůči
                   odchylkám hodin na různých počítačích.

       TIMEOUT     Počet  sekund,  které musí uplynout než procmail usoudí, že
                   některý  z  dceřiných   procesů,   které   spustil,   musel
                   zamrznout.  Dotyčný  program  obdrží  od  procmailu  signál
                   TERMINATE  a   zpracování   konfiguračního   souboru   bude
                   pokračovat.  Pokud  je  nula, lhůta se nepoužije a procmail
                   čeká dokud se neukončí  dceřiný  process;  není-li  hodnota
                   specifikována je implicitní hodnota 960 sekund.

       MSGPREFIX   Předpona  souboru,  pokud  se  zpráva  doručuje do adresáře
                   (nepoužívá se při doručování do MH adresáře).

       HOST        Pokud toto není totožné se  jménem  počítače,  které  vrací
                   hostname,  zpracování  aktuálního konfiguranho souboru se
                   okamžitě ukončí. Pokud  byly  na  příkazové  řádce  uvedeny
                   další  konfigurační  soubory,  zpracování  bude  pokračovat
                   následujícím  z  nich.  Pokud  již  byly  všechny  použity,
                   program  se ukončí, ale nezpůsobí chybu (tzn. že poštovnímu
                   programu se bude zdát, že pošta byla doručena).

       UMASK       Jméno říká vše (pokud ne, zapomeňte na něj :-).   Jakákoliv
                   hodnota  přiřazená UMASK bude interpretována jako osmičkové
                   číslo. Není-li  specifikováno,  maska  je  implicitně  077.
                   Pokud   maska  dovoluje  o+x,  všechny  schránky  do  nichž
                   procmail doručuje přímo prodělají  změnu  o+x.   To  se  dá
                   použít ke kontrole zda přišla nová pošta.

       SHELLMETAS  Pokud  se  kterýkoliv  ze znaků řetězce SHELLMETAS objeví v
                   řádku obsahujícím filtr nebo program, řádek bude poslán  do
                   $SHELL namísto přímého spuštění.

       SHELLFLAGS  Jakékoliv volání $SHELL-u bude uskutečněno ve tvaru
                   "$SHELL" "$SHELLFLAGS" "$*";

       SENDMAIL    Pokud  nepoužíváte  pesmrovn (forwarding), nelamte si s
                   tímhle  hlavu.  Určuje  program,  který  bude   forwardovat
                   jakoukoliv poštu.
                   Volá se jako: "$SENDMAIL" $SENDMAILFLAGS "$@";

       NORESRETRY  Počet  opakovaných  pokusů  pokud  nastane  některá  z chyb
                   `process table  full'  (zaplnění  tabulky  procesů),  `file
                   table  full'  (zaplnění  tabulky  souborů), `out of memory'
                   (nedostatek paměti) nebo  `out  of  swap  space'  (zaplnění
                   odkládacího   prostoru).   Pokud  je  toto  číslo  záporné,
                   procmail  to   bude   zkoušet   donekonečna;   pokud   není
                   specifikováno,  implicitní  hodnota  je  4.  Další pokusy o
                   opakování  akce  nastávají  v  intervalu  $SUSPEND  sekund.
                   Myšlenka tohoto uspořádání spočívá v tom, že pokud je např.
                   vyčerpán  swapovac  prostor  nebo  se   zaplnila   tabulka
                   proces,  obvykle to zjistí několik dalších programů, které
                   buď skončí nebo zkolabují,  čímž  uvolní  nedostávající  se
                   systémové zdroje procmailu.

       SUSPEND     Čas  v  sekundách  kdy  bude  procmail  čekat  na  něco  co
                   momentálně není k dispozici (paměť,  fork,  atd.);  není-li
                   specifikováno,  implicitní  hodnota je 16 sekund.  Viz též:
                   LOCKSLEEP.

       LINEBUF     Délka interní řádkové vyrovnávací  paměti.  Nelze  nastavit
                   menší než 128.  Délka žádného řádku v konfiguranm souboru
                   by neměla překročit $LINEBUF znaků před  ani  po  provedení
                   substitucí.  Pokud  není  specifikováno,  standard je 2048.
                   Toto omezení samozřejmě neplat na zprávu samotnou; ta může
                   mít   libovolné  délky  řádků  nebo  může  být  i  binárním
                   souborem. Viz též PROCMAIL_OVERFLOW.

       DELIVERED   Pokud je  nastavena  na  `yes',  procmail  bude  předstírat
                   (MTA), že zpráva byla doručena. Pokud při takovém nastavení
                   nelze zprávu doručit, zpráva bude navždy  ztracena  (nebude
                   odeslána na postmastera apod.).

       TRAP        Při  ukončení  procmailu  (neplatí,  pokud  bylo  způsobeno
                   přijatým signálem) se provede obsah  této  proměnné.  Kopie
                   zprávy  je  k  dispozici  na standardním vstupu.  Jakýkoliv
                   výstup vytvořený tímto příkazem bude  připojen  do  souboru
                   $LOGFILE.    Možná  použití  TRAP-u:  odstranění  dočasných
                   souborů, na míru šité výtahy zpráv, atd. Viz též:  EXITCODE
                   a LOGABSTRACT.

       EXITCODE    Implicitně  je  návratová  hodnota procmailu nula (úspěch),
                   pokud úspěšně doručil zprávu nebo byla proměnná HOST špatně
                   nastavena   a   na   příkazové  řádce  nebyly  žádné  další
                   konfigurační  soubory;  jinak  je  vráceno  selhání.  Ještě
                   předtím ale procmail prozkoumá hodnotu této proměnné. Pokud
                   byla této proměnné přiřazena  kladná  hodnota,  použije  se
                   jako  návratová  hodnota  při  ukončení procmailu. Pokud je
                   tato proměnná  nastavena,  ale  prázdná,  procmail  použije
                   návratovou  hodnotu  vrácenou  programem  TRAP  Pokud  tato
                   proměnná není nastavena, procmail ji  nastaví  krátce  před
                   vyvoláním programu TRAP.

       LASTFOLDER  Tuto  proměnnou  nastaví  procmail, kdykoliv doručí nějakou
                   zprávu do složky nebo  do  programu.  Vždy  obsahuje  jméno
                   souboru  (nebo programu) kam procmail doručil zprávu. Pokud
                   byla  zpráva  doručena  do  více  složek   najednou,   bude
                   $LASTFOLDER  obsahovat hardlinkovaná jména souborů oddělěná
                   mezerami.

       MATCH       Procmail přiřadí této proměnné hodnotu, kdykoliv má  uložit
                   text  z  úspěšně  porovnaného  regulárního výrazu. Obsahuje
                   veškerý text vyhovující regulárnímu  výrazu  za  speciálním
                   znakem `\/'.

       SHIFT       Přiřazení kladné hodnoty této proměnné má stejný efekt jako
                   příkaz `shift' v sh(1).  Tento příkaz má  největší  využití
                   při  získání dalších argumentů předaných procmailu, když je
                   použit jako generický filtr e-mailových zpráv.

       INCLUDERC   Jméno  konfiguračního   souboru   (relativní   vzhledem   k
                   aktuálnímu  adresáři),  který  bude  zařazen do zpracování,
                   jako by byl  součástí  aktuálního  konfiguračního  souboru.
                   Vnořování  je  povoleno  a  je limitováno pouze systémovými
                   zdroji  (paměť  a  deskriptory  souborů).  Protože   nejsou
                   prováděny  žádné  kontroly přístupových práv nebo vlastníka
                   konfiguračního souboru,  měli  by  se  uživatelé  INCLUDERC
                   ujistit,  že  právo  zapisovat do něj nebo do jeho adresáře
                   mají jen  důvěryhodní  uživatelé.  Přiřazení  INCLUDERC  na
                   příkazové řádce nemá žádný efekt.

       SWITCHRC    Určuje   konfigurační   soubor   (relativně   k  aktuálnímu
                   adresáři), na který se při zpracovávání přejde. Pokud tento
                   soubor  neexistuje  nebo  se  nejedná  o normální soubor či
                   /dev/null, zapíše se do  logu  chyba  a  zpracovávání  bude
                   pokračovat  v  aktuálním  konfiguračním  souboru. V opačném
                   případě se zpracovávání aktuálního  konfiguračního  souboru
                   ukončí   a  začne  se  s  určeným  konfiguračním  souborem.
                   Odnastavení   (unsetting)    SWITCHRC   způsobí    ukončení
                   zpracovávání  aktuálního konfiguračního souboru, jako kdyby
                   normálně skončil.  Stejně  jako  u  INCLUDERC  se  ani  zde
                   neprovádí  žádné  kontroly  přístupových  práv  a vlastníka
                   konfiguračního  souboru  a  přiřazení  na  příkazové  řádce
                   nemají žádný vliv.

       PROCMAIL_VERSION
                   Číslo verze spuštěného programu procmail.

       PROCMAIL_OVERFLOW
                   Tato  proměnná  bude  nastavena na neprázdnou hodnotu pokud
                   procmail zjistí přetečení bufferu. Viz sekce CHYBY, kde  je
                   uvedeno více o chování při výskytu přetečení.

       COMSAT      Implicitně  je notifikace Comsat(8)/biff(1)  zapnutá. Dá se
                   vypnout nastavením této proměnné na `no'.  Alternativně lze
                   službu   biff  upravit  nastavením  této  proměnné  buď  na
                   `služba@',  `@hostname'  nebo  `služba@hostname'.   Není-li
                   specifikováno, použije se biff@localhost.

       DROPPRIVS   Nastaví-li  se  na  `yes',  procmail `shodí' všechna práva,
                   kterých eventuálně mohl nabýt (suid, sgid).  Toto  se  hodí
                   pouze  v  případě,  že  chcete,  aby  se zbylá část souboru
                   /etc/procmailrc provedla jménem příjemce.

   Rozšířené regulární výrazy
       Následující speciální konstrukce používá jak interní egrep v procmailu,
       tak standardní egrep(1):

       ^         Začátek řádku.

       $         Konec řádku.

       .         Jakýkoliv znak kromě konce řádku.

       a*        Posloupnost libovolného, i nulového počtu áček.

       a+        Posloupnost jednoho nebo více áček.

       a?        Jedno nebo žádné a.

       [^-a-d]   Jakýkoliv  znak,  který  není  pomlčka, a, b, c, d nebo konec
                 řádku.

       de|abc    Buď posloupnost `de' nebo `abc'.

       (abc)*    Žádný výskyt  nebo  libovolný  počet  opakování  posloupnosti
                 `abc'.

       \.        Jediná tečka; \ se používá k uvození všech znaků se zvláštním
                 významem. Viz také použití $\ u proměnných.

       Tohle byly samozřejmě pouze příklady. Jakákoliv složitější kombinace je
       rovněž přípustná.

       Následující   speciální   konstrukce   používá   specifická   rozšíření
       procmailu:

       ^ nebo $  Odpovídá novému řádku (u víceřádkových porovnání).

       ^^        Zakotví výraz na úplném začátku porovnávané oblasti, resp. na
                 jejím  úplném  konci  je-li  tato kombinace nalezena na konci
                 výrazu.

       \< nebo \>
                 Porovnání se shoduje se znakem před  anebo  za  slovem.  Tyto
                 speciální  výrazy  jsou pouhým synonymem pro `[^a-zA-Z0-9_]',
                 ale shoda nastane i pro  znak  `nový  řádek'.   Jelikož  tyto
                 symboly se shodují se skutečnými znaky, lze je použít pouze k
                 oddělení slov, nikoli pro odlišení mezer mezi slovy.

       \/        Rozděluje výraz na dvě části. Všechno co se shoduje  v  pravé
                 části se přiřadí proměnné MATCH.

PŘÍKLADY

       Viz manuálová stránka procmailex(5).

NÁSTRAHY

       Akční  řádek,  který  pokračuje  na  dalším  řádku  musí vždycky končit
       obráceným lomítkem, dokonce ani kdyby spouštěný shell nepotřeboval nebo
       nechtěl, aby obrácené lomítko takový řádek označovalo.  Důvod spočívá v
       dvoufázovém procesu analýzy řádku (nejdřív procmail, potom shell  (nebo
       také ne, v závislosti na SHELLMETAS)).

       Nedávejte  na  podmínkové  řádky  s regulárními výrazy žádné komentáře,
       protože  celý  řádek  je  kompletn  předán  internímu  egrepu   (kromě
       pokračovacích obrácených lomítek na konci řádku).

       Úvodní  mezera  na  řádku  na němž pokračuje regulární výraz je obvykle
       ignorována  (takže  můžete  pokračování  odsadit),   ale   nikoliv   na
       pokračovacích  podmínkových  řádcích,  které  jsou  vyhodnocovány podle
       pravidel sh(1)  pro substituce uvnitř dvojitých závorek.

       Dávejte si pozor na zacyklení při provádění nezdravých věcí, jako třeba
       odeslání  zprávy  (forward)  na  svůj vlastní účet.  Zacyklení může být
       přerušeno správným použitím LOCKTIMEOUT.

       Jakékoliv  implicitní  (standardní)  hodnoty,  které  má  procmail  pro
       některé  proměnné  vždycky  přepíší už definované hodnoty. Pokud chcete
       implicitní hodnoty s jistotou změnit, musíte nové hodnoty  definovat  v
       konfiguračním souboru, nebo jako parametr na příkazovém řádku.

       Soubor  /etc/procmailrc  nemůže  změnit  nastavení PATH v uživatelských
       konfiguračních  souborech,  protože   když   procmail   projde   soubor
       /etc/procmailrc,  je  tato hodnota je resetována. I když v této oblasti
       dojde v budoucnu ke zlepšení, jediným správným řešením  je  v  současné
       době překompilování procmailu s požadovanou hodnotou.

       Proměnné   nastavené   uvnitř   akce  typu  `|'  spouštěné  shellem  si
       nezachovávají své hodnoty po ukončení předpisu jelikož jsou nastaveny v
       podřízeném  shellu  spuštěném procmailem.  Chcete-li mít jistotu, že si
       proměnná podrží svou  hodnotu,  musíte  provést  přiřazení  ještě  před
       uvozujícím `|' předpisu.

       Pokud definujete v doručujícím předpisu příznak `h' nebo `b' a dojde ke
       shodě podmínky, pak, pokud jste nedefinovali zároveň příznak `c',  tělo
       zprávy resp. záhlaví bude bez varování ztraceno.

DALŠÍ INFORMACE

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

CHYBY

       [přibližně]   Procmail  je  schopen  sám  o  sobě  provádět  substituce
       proměnných  pouze  tohoto  typu:  $jméno,   ${jméno},   ${jméno:-text},
       ${jméno:+text},  ${jméno-text}, ${jméno+text}, $\jméno, $#, $n, $$, $?,
       $_, $- a $=; přičemž za  $\name  bude  dosazen  ekvivalent  $jméno  bez
       speciálních  významů  zvláštních  znaků;  za  $_  bude  dosazeno  jméno
       aktuálního  konfiguračního  souboru,  za  $-  $LASTFOLDER  a  $=   bude
       obsahovat  výsledek  posledního  předpisu.  Výsledek substituce $\jméno
       navíc nebude rozdělen podle prázdných znaků.  Když jsou  použity  volby
       -a  nebo  -m  za  $# se dosadí počet parametrů a za "$@" (uvozovky jsou
       povinné) se dosadí příslušné parametry. Ovšem pouze  je-li  předáván  v
       seznamu  parametrů  nějakému  programu  a v tom případě je substituován
       pouze jeden výskyt "$@".

       Substituce proměnných neohraničené uvozovkami  jsou  vždycky  rozděleny
       podle  mozer,  tabulátorů  a znaků konce řádku; proměnná IFS se interně
       nepoužívá.

       Procmail nepodporuje substituci `~'.

       Při zpracovávání konfiguranho souboru se používá řádková  vyrovnávací
       paměť   (řádkový   buffer)   o  délce  $LINEBUF.   Jakékoliv  rozšíření
       zpracovávaného řádku při substitucích nad tento limit bude  oříznuto  a
       bude  nastavena  proměnná  PROCMAIL_OVERFLOW. Pokud je řádek, na kterém
       došlo k přetečení podmínkový nebo akční  řádek,  bude  vyhodnocen  jako
       selhání  a  procmail  bude  pokračovat  ve  zpracovávání.  Pokud  je to
       přiřazení proměnné  nebo  počáteční  řádek  předpisu,  ukončí  procmail
       zpracovávání konfiguračního souboru.

       Pokud  má globální semafor (zámek)  relativn cestu, a aktuální adresář
       není ten, v němž byl semafor vytvořen, potom semafor nebude  odstraněn,
       pokud  procmail  v  tomto  místě  skončí  (řešení: pro globální semafor
       používejte absolutn cestu).

       Pokud má konfigurační soubor relativn cestu a v okamžiku jeho  prvního
       otevření  obsahuje MAILDIR relativní cestu a pokud je procmail přinucen
       rozdvojit  se  a  aktuální  adresář  byl  změněn  od  doby,   kdy   byl
       konfigurační soubor otevřen, nebude se procmail moci rozdvojit (řešení:
       použít absolutn cestu k určení konfiguračního souboru  nebo  zajistit,
       aby  MAILDIR  obsahoval  absolutní  cestu,  když je konfigurační soubor
       otevírán).

       Lokální semafor v předpisu,  který  otevírá  neforkující  vnořený  blok
       nebude fungovat tak, jak čekáte.

       Při  uložení  obsahu  standardního  výstupu  předpisu  do proměnné bude
       odstraněn právě jeden koncový znak `nový řádek'.

       Nekteré nevhodné a nejasné regulární výrazy způsobí nastavení MATCH  na
       nesprávnou  hodnotu.  Regulární  výraz  může  být  opraven  odstraněním
       jednoho nebo více nepotřebných operátorů '*', '+',  nebo  '?'  na  levé
       straně speciální konstrukce \/ .

RŮZNÉ

       Pokud  regulární  výraz  obsahuje  `^TO_',  bude tento řetězec nahrazen
       výrazem `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)', což by mělo zachytit
       všechny možné specifikace adresáta obsahující určitou adresu.

       Pokud regulární výraz  obsahuje  `^TO',  bude  tento  řetězec  nahrazen
       výrazem `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)', což by mělo zachytit
       všechny možné specifikace adresáta obsahující určité slovo.

       Pokud  regulární  výraz  obsahuje  `^FROM_DAEMON',  bude  to  nahrazeno
       výrazem [přibližně] `(^(Mailing-List:|Precedence'u' :.*(junk|bulk|list)
       |To: Multiple recipients of |(((Resent-)?(From|Sender)|X-Envelope-From)
       :|>?From )([^>]*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)
       |(send)?Mail(er)?|daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV'u' |proc)
       |NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce'u' |bs\.smtp)|echo
       |mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR
       |utoanswer))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t
       ][^<)]*(\(.*\).*)?)?$([^>]|$)))', což by mělo zachytit zprávy odeslané
       většinou démonů.

       [přibližně] Pokud regulární  výraz  obsahuje  `^FROM_MAILER',  bude  to
       nahrazeno výrazem [přibližně] `(^(((Resent-)?(From|Sender)
       |X-Envelope-From):|>?From )([^>]*[^(.%@a-z0-9])?(Post(ma(st(er)?|n)
       |office)|(send)?Mail(er)?|daemon|mmdf|n?uucp|ops|r(esponse|oot)
       |(bbs\.)?smtp(error)?|s(erv(ices?|er)|ystem)|A(dmin(istrator)?
       |MMGR))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t ][^<)]*(\(.*\).*)?)?$([^>]
       |$))' (ořezaná verze `^FROM_DAEMON'), což by mělo zachytit zprávy od
       většiny poštovních démonů.

       [přibližně]  Pro  přiřazení  logických  hodnot  proměnným jako VERBOSE,
       DELIVERED nebo COMSAT procmail akceptuje jako logickou  jedničku  každý
       řetězec,  který  začíná: nenulovou hodnotou, slovem `on', `y', `t' nebo
       `e'. Nepravda (logická  0)  je  jakýkoliv  řetězec  začínající  nulovou
       hodnotou, `off', `n', `f' nebo `d'.

       Pokud akční řádek předpisu specifikuje program, pak řádek skládající se
       z pouhé dvojice zpětné lomítko-nový řádek na jinak prázdném řádku  bude
       převeden na znak nový řádek.

       Zpracování  regulárních  výrazů,  zabudované  v  procmailu, nepodporuje
       pojmenované třídy znaků (named character classes).

POZNÁMKY

       Jelikož v konfiguračním souboru se všeobecně ignorují úvodní bílé znaky
       bez  uvozovek, můžete je využít zcela dle své chuti k odsazování textu.

       Úvodní `|' na začátku akčního řádku,  které  specifikuje  program  nebo
       filtr  se odřeže ještě před testováním řádku na přítomnost $SHELLMETAS.

       Soubory zahrnuté direktivou INCLUDERC a obsahující pouze  přiřazení  do
       proměnných mohou být sdíleny s sh.

       Současné  chování  přiřazení  INCLUDERC  a SWITCHRC na příkazovém řádku
       nemůže být zaručeno. V minulosti se již změnilo  a  v  dalších  verzích
       může být změněno znovu nebo úplně vypuštěno.

       Chcete-li   opravdu  komplikované  zpracování,  můžete  zvážit  dokonce
       rekurzivní volání procmailu.

       Za starých časů muselo být ':0' značící začátek nového předpisu změněno
       na
        ':n', kde 'n' představuje počet podmínek, které následují.

AUTOŘI

       Stephen R. van den Berg
              <srb@cuci.nl>
       Philip A. Guenther
              <guenther@sendmail.com>