Provided by: manpages-cs_4.21.0-2_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 doručujícím předpisu,
       procmail považuje zprávu (ano, uhádli jste) za doručenou a ukončí zpracování  konfiguračního  souboru  po
       úspěšném  provedení  akčního  řádku předpisu. Pokud je nalezena shoda v nedoručujícím předpisu zpracování
       bude pokračovat 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 doručující předpis 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 [příznaky] [ : [lokální_zámek] ] <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ý.

       Příznak 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 úspěšném 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 doručujících 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  lokální_zámek  (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 proměnná=, což  způsobí,  že  standardní
              výstup  spuštěného  programu  bude  uložen  do proměnné 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
              žádném případě 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 and USER_SHELL
                             Vaše (příjemcovy) standardní hodnoty

       SHELL                 /bin/sh

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

       SHELLMETAS            &|<>~;?*[

       SHELLFLAGS            -c

       ORGMAIL               /var/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              /usr/sbin/sendmail

       SENDMAILFLAGS         -oi

       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.24

       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.

   Environment
       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 rozšířenou 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ý doručující předpis.

       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 lokálního
                   zámku (pokud jsou zapnuty, pro jednotlivé předpisy).

       LOCKSLEEP   Počet sekund, které procmail vyčká než opět zkusí zámek (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í zámku 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
                   konfiguračního  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 přesměrování (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
                   konfiguračním  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
       The  following  tokens  are  known to both the procmail internal egrep and the standard egrep(1)  (beware
       that some egrep implementations include other non-standard  extensions;  in  particular,  the  repetition
       operator { is not supported by procmail's egrep):

       ^         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), 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  posled‐
       ní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 substituo‐
       ván pouze jeden výskyt "$@".

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

       Procmail nepodporuje substituci `~'.

       Při zpracovávání konfiguračního 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  vy‐
       tvoř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 relativ‐
       ní  cestu a pokud je procmail přinucen rozdvojit se a aktuální adresář byl změněn od doby, kdy byl konfi‐
       gurační soubor otevřen, nebude se procmail moci rozdvojit (řešení: použít absolutní cestu k určení konfi‐
       guračního souboru nebo zajistit, aby MAILDIR obsahoval absolutní cestu, když je konfigurační soubor  ote‐
       ví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 `no‐
       vý řádek'.

       Some  non-optimal and non-obvious regexps set MATCH to an incorrect value. The regexp can be made to work
       by removing one or more unneeded '*', '+', or '?' operators on the left-hand side of the \/ token.

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:.*(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|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|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  akcep‐
       tuje  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ít‐
       ko-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 charac‐
       ter 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í.

AUTORI

       Stephen R. van den Berg
              <srb@cuci.nl>

PŘEKLAD

       Překlad této příručky do španělštiny vytvořili Jindřich Vavruška <netplus@comp.cz> a Pavel Heimlich <tro‐
       pikhajma@gmail.com>

       Tento překlad je bezplatná dokumentace; Přečtěte  si  GNU General Public License Version 3  nebo  novější
       ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

       Pokud  narazíte  na  nějaké  chyby  v  překladu této příručky, pošlete e-mail na adresu translation-team-
       cs@lists.sourceforge.net.

                                                     BuGless                                       PROCMAILRC(5)