Provided by:
manpages-cs_0.18.20090209-3_all 
JM'ENO
procmailrc - konfigurani soubor programu procmail
POUIT'I
$HOME/.procmailrc
POPIS
Chcete-li rychle zait, podivejte se na POZN'AMKY na konci manualove
stranky procmail(1).
Tento konfigurani soubor me obsahovat sms piazeni do promnnych prostedi
(z nich nktere mohou mit pro procmail zvlatni vyznam) a pedpis. V
nejjednodui podob obsahuji pedpisy jednoadkove regularni vyrazy
vyhledavane v hlavice pijate e-mailove zpravy. Prvni pedpis, ktery
nalezne shodu s regularnim vyrazem, potom uri kam se zprava dale pesune
(obvykle do souboru). Pokud se zpracovani dostane a na konec rc
souboru, procmail dorui e-mailovou zpravu na $DEFAULT.
Existuji dva druhy pedpis: doruujici a nedoruujici. Pokud je nalezena
shoda v doruuj'ic'im pedpisu, procmail povauje zpravu (ano, uhadli jste)
za doruenou a ukon'i zpracov'an'i konfiguraniho souboru po uspnem
provedeni akniho adku pedpisu. Pokud je nalezena shoda v nedoruuj'ic'im
pedpisu zpracovani bude pokraovat i po provedeni akniho adku tohoto
pedpisu.
Doruujici pedpisy jsou ty, ktere zpsobi, e hlaviky a/nebo tlo zpravy
jsou zapsany do souboru, pouity njakym programem nebo pesmrovany na
njakou potovni adresu.
Nedoruujici pedpisy jsou ty, ktere zpsobi, e vystup njakeho programu
nebo filtru je znovu zachycen procmail-em, nebo pedpisy, ktere
oteviraji vnoeny blok.
Procmailu mete ici, e ma zpracovavat doruuj'ic'i pedpis jako nedoruujici,
kdy uvedete piznak 'c' v hlavice pedpisu. To pinuti procmail vytvoit
kopii prav zpracovavane zpravy. Zprava je tudi doruena podle pedpisu,
ale zarove se s jeji kopii pokrauje ve zpracovani konfiguraniho
souboru.
Pouitim libovolneho potu pedpis mete svou pichozi potu velmi pimoarym
zpsobem roztidit do nkolika sloek. Avak mjte na pamti, e do tchto sloek
mohou pichazet souasn rzne zpravy (jestlie bi vice instanci procmailu,
co neni neobvykle pi vtim mnostvi dolych zprav). Aby v tom pipad ve
slokach nevznikl zmatek, velmi doporuujeme vhodn pouivat zamk (angl.
"lock files").
V konfiguranim souboru lze libovoln michat piazen'i do promnnych
prostedi a pedpisy. Promnne, ktere maji v procmailu zvlatni vyznam,
budou pouity pislunym zpsobem v moment zpracovani adku kde se vyskytuji
(tzn. e mete kdykoliv zmnit pracovni adresa zadanim nove hodnoty
MAILDIR, pepinat zamky piazenim do LOCKFILE, kdykoliv zmnit umask,
atd., monosti je nekonen mnoho :-).
Piazovani a substituce tchto promnnych se provadi pesn stejn jako v
sh(1) (vetn vech monosti uvozovani a escape sekvenci), ale krom toho
jet poskytuje dali vyhody v tom, e prazdne znaky obklopujici '=' jsou
ignorovany. Pokud se objevi jmeno promnne bez koncoveho '=', bude tato
promnna zruena. Jakykoliv program uvedeny ve zptnych apostrofech
procmail spusti a peda mu celou zpravu na standardni vstup.
Koment'ae
Slovo zainajici znakem # a vechny nasledujici znaky a do konce adku
jsou ignorovany. Toto neplati pro adky obsahujici podminku, ty nemohou
byt komentovany.
Pedpisy
adek zainajici znakem ':' oznauje zaatek pedpisu. Ma tento format:
:0 [p'iznaky] [ : [lok'aln'i_z'amek] ] <jedna nebo vice
podminek (jedna na adek)> <prav jeden akni adek>
Podminkovy adek zaina znakem `*'. Zbytek adku krom uvozujicich a
koncovych mezer je poslan znak po znaku na vstup vnitniho egrep-u.
Regularni vyrazy vnitniho egrepu jsou naprosto kompatibilni s rozienou
syntaxi regularnich vyraz programu egrep(1). Viz te Roz'ien'a syntaxe
regul'arn'ich v'yraz.
Mezi podminkami v jednom pedpisu plati logicky souin (AND). Pokud
pedpis neobsahuje adnou podminku, vysledek testu bude vdycky pravdivy.
P'iznak me byt jeden z nasledujicich znak:
H Do programu egrep se pole zahlavi zpravy (standard).
B [piblin] Do egrepu se pole tlo zpravy.
D Sdli egrepu, e ma rozliovat mala a velka pismena (standard je
nerozliovat).
A Tento pedpis bude zavisly na poslednim pedchazejicim pedpisu bez
piznaku `A' nebo `a' (na aktualni urovni vnoeni). To vam umouje
etzit akce, ktere zavisi na spolene podmince.
a Ma tenty vyznam jako `A', ale bude zarove zaviset na 'uspn'em
dokoneni pedchoziho pedpisu.
E Tento pedpis se provede pouze v pipad, e bezprostedn pedchazejici
pedpis nebyl proveden. Jeho uspne provedeni rovn znemoni provedeni
bezprostedn nasledujicich pedpis s `E'. To vam umouje definovat
akce typu `else if'.
e Pedpis se provede pouze v pipad, e bezprostedn pedchazejici pedpis
selhal. To vam umouje definovat akce na zpracovani chyb.
h Zahlavi zpravy se pole na vstup roury, do souboru nebo na misto
ureni zpravy (default).
b Tlo zpravy se pole na vstup roury, do souboru nebo na misto ureni
zpravy (default).
f S rourou se ma zachazet jako s filtrem.
c Vytvo kopii zpracovavane zpravy. Tento piznak ma vyznam pouze v
doruuj'ic'ich pedpisech. Jediny druh nedoruujiciho pedpisu v nm
dojde tento piznak smysluplneho pouiti je blok (vnoeni). Aby mohla
byt zpracovana kopie, piznak zpsobi rozdvojen'i prav biciho procesu
(zamky se neddi), piem novy proces pokrauje ve zpracovani obvyklym
zpsobem, zatimco pvodni proces peskoi blok a pokrauje za nim.
w eka na ukoneni sputneho filtru nebo programu a otestuje navratovou
hodnotu (standardn ji ignoruje). Pokud bude filtr neuspny, text
nebude filtrovan.
W Stejny vyznam jako piznak `w', ale potlai hlaky `Program failure'.
i Ignoruje chyby zapisu v tomto pedpisu (obvykle nastavaji pi
pedasnem uzaveni roury).
r `Hruby' reim (raw). Nepokoui se ujistit jestli zprava koni
prazdnym adkem, zapie ji tak jak je.
Mete pouit zvlatni podminky, ktere nejsou pimo regularnimi vyrazy.
Takove podminky musi zainat:
! Negace podminky nasledujici po vykiniku.
$ Zbytek podminky vyhodnoti podle pravidel pro substituci uvnit
dvojitych uvozovek v sh(1) , peskoi uvodni mezery a potom znovu
vyhodnoti.
? Pouije navratovy kod uvedeneho programu.
< Otestuje, zda je celkova delka zpravy meni ne uvedeny poet bajt
(decimaln).
> Obdobn jako '<'.
jm'eno_promnn'e ??
Porovna zbytek podminky s hodnotou teto promnne (nesmi se jednat o
pseudopromnnou). Zvlatnim pipadem jsou `B', `H', `HB' a `BH',
ktere pouze mni prohledavanou oblast zahlavi/tla zpravy,
definovanou pro aktualni pedpis.
\ Pouijte, chcete-li pouit kterykoliv z vye uvedenych znak na zaatku
adku v jeho normalnim vyznamu.
Lok'aln'i z'amek
Pokud umistite na konec prvniho adku pedpisu druhou dvojteku, procmail
pouije lok'aln'i_z'amek (pouze pro aktualni pedpis). Voliteln mete za
dvojteku zadat jmeno zamku, ktery chcete pouit. Pokud tak ovem
neuinite, procmail pouije jmeno vystupniho souboru (nebo jmeno za prvni
'>>'), za ktere pipoji hodnotu $LOCKEXT.
Akn'i 'adek pedpisu
Akni adek me zainat jednim z nasledujicich znak:
! Pole potu (forward) na vechny nasledujici e-mailove adresy.
| Spusti ureny program; pokud je nalezen kterykoliv znak z
$SHELLMETAS, pokusi se spustit program pomoci $SHELL-u. Voliteln
mete ped znak roury umistit promnn'a=, co zpsobi, e standardni
vystup sputneho programu bude uloen do promnn'e prostedi
(procmail v tomto mist neukon'i zpracovavani konfiguraniho
souboru). Pokud zadate pouze znak roury bez adneho nazvu
programu, procmail pesmruje obsah zpravy na standardni vystup.
{ Nasledovana alespo jednou mezerou, tabulatorem nebo znakem novy
adek oznauje zaatek vnoeneho bloku. Vechno uvnit bloku a po
nasledujici uzavirajici zavorku bude zaviset na podmince
aktualniho pedpisu. Poet urovni vnoeni neni omezen. Uzaviraci
zavorka pouze ukonuje blok; v 'adn'em p'ipad nezpsobuje ukoneni
procmailu. Kdy je dosaeno konce bloku, zpracovani pokrauje
obvyklym zpsobem za blokem. Ve vnoenem bloku maji piznaky `B' a
`H' vliv pouze na podminky pedchazejici tento blok, piznaky `h'
a `b' nemaji vbec adny vliv.
Cokoliv jineho bude povaovano za jmeno potovni schranky (bu jmeno
souboru nebo adresae, absolutni nebo relativni k aktualnimu adresai
(viz MAILDIR)). Pokud se jedna o jmeno souboru (by neexistujiciho),
zprava bude pidana na jeho konec.
Pokud se jedna o jmeno adresae, zprava bude doruena do souboru se
zaruen jedinenym nazvem zainajicim $MSGPREFIX, nov vytvoeneho v tomto
adresai. Pokud nazev adresae koni etzcem "/.", pedpoklada se, e se
jedna o sloku systemu MH a procmail pouije dali volne islo, ktere
nalezne. Pokud jmeno schranky koni na "/", je tento adresa povaovan za
sloku maildir; tj. procmail dorui zpravu do souboru v podadresai
pojmenovanem "tmp" a pejmenuje jej, aby byl v podadresai "new". Pokud
je schranka urena jako sloka MH nebo sloka maildir, procmail vytvoi
potebne adresae, pokud neexistuji; nebude povaovat schranku za
neexistujici jmeno souboru. Pokud procmail doruuje do adresae, mete
zadat nkolik adresa do nich chcete zpravu doruit (procmail k tomu
pouiva hardlinky).
Implicitn'i hodnoty promnn'ych
LOGNAME, HOME a SHELL Vae (pijemcovy) standardni hodnoty
PATH $HOME/bin:/bin:/usr/bin:/usr/local/bin
:/usr/bin/X11 (Vyjimkou je doba zpracovani
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 pipad, e bylo zadano -m nedefinovano)
MAILDIR $HOME/
(Krom pipadu, kdy jmeno prvniho uspn oteveneho rc
souboru zaina `./' nebo bylo zadano -m; tehdy je
implicitni hodnota `.')
DEFAULT $ORGMAIL
MSGPREFIX msg.
SENDMAIL /bin/mail
SENDMAILFLAGS
HOST Aktualni jmeno poitae (hostname)
COMSAT no
(Pokud je jmeno rc souboru ureno v pikazove adce)
PROCMAIL_VERSION 3.22
LOCKEXT .lock
Ostatni nulovane nebo pednastavene promnne jsou IFS, ENV a PWD.
Z bezpenostnich dvod vymae procmail pi startu vechny promnne, ktere by
ktere by mohly ovlivnit chovani runtime linkeru.
PROSTED'I
Dive ne vas zahlti mnostvi promnnych, mjte na pamti, e vechny maji
rozumne implicitni hodnoty.
MAILDIR Aktualni adresa za bhu procmailu (co znamena, e vechny
cesty jsou relativni vzhledem k $MAILDIR).
DEFAULT Standardni soubor potovn'i schr'anky (pokud neni ureno jinak,
procmail uloi zpravu do teto schranky). Ped zapisem do
teto schranky pouije procmail automaticky $DEFAULT$LOCKEXT
jako zamek. Tuto promnnou nemusite nastavovat, nebo ji
obsahuje implicitni systemovou schranku.
LOGFILE Tento soubor bude obsahovat jakakoliv chybova nebo
diagnosticka hlaeni procmailu (za normalnich okolnosti adna
:-) pip. jinych program sputnych procmailem. Jestlie tento
soubor neni definovan, vekera diagnosticka nebo chybova
hlaeni budou zaslana e-mailem odesilateli zpravy. Viz te
LOGABSTRACT.
VERBOSE Nastavenim teto promnne na `yes' nebo `on' (ano, resp.
zapnout; pozn. pekl.) pipadn `no' i `off' (ne, vypnout)
mete zapinat respektive vypinat roz'ienou diagnostiku.
LOGABSTRACT Tsn ped svym ukonenim zapie procmail do souboru $LOGFILE
shrnuti zpravy: zahlavi `From:' a `Subject:', do jake sloky
(schranky) byla zprava uloena a jaka byla jeji delka v
bajtech. Nastavenim teto promnne na `no' se vypis potlai.
Nastavenim teto promnne na `all' (vechno) se zajisti vypis
pro kady uspn dokoneny doruuj'ic'i pedpis.
LOG Cokoliv piazene teto promnne bude pipojeno do souboru
$LOGFILE.
ORGMAIL Obvykle systemova schranka (ORiGinal MAILbox). Pokud z
njakeho tajemneho dvodu (jako `filesystem full') neme byt
zprava doruena, tato schranka bude posledni monosti. Pokud
se procmailu nepodai zpravu uloit ani sem (moc, moc patny
:-) vrati zpravu odesilateli.
LOCKFILE Globalni semafor. Pokud tento soubor ji existuje, procmail
ped dalim zpracovanim poka a zmizi; potom jej sam vytvoi (a
samozejm take smae, kdy skoni). Pokud je specifikovan vice
ne jeden semafor bude ten pedchozi smazan dive ne se zkusi
vytvoit novy. Uivani globalniho semaforu se nedoporuuje.
Tam kde je to mone, pouijte misto toho lokalni zamky (na
bazi jednotlivych pedpis).
LOCKEXT Implicitni pipona, jejim pipojenim ke jmenu ciloveho
souboru se ziska jmeno lok'aln'iho z'amku (pokud jsou zapnuty,
pro jednotlive pedpisy).
LOCKSLEEP Poet sekund, ktere procmail vyka ne opt zkusi z'amek (pokud
ji existoval); pokud neni specifikovano, implicitni hodnota
je 8 sekund.
LOCKTIMEOUT Poet sekund, ktere musi uplynout od asu posledni
modifikace/vytvoeni z'amku aby procmail usoudil, e se to
musi byt soubor pozstaly v dsledku chyby, ktery nyni me byt
nucen odstrann. Pokud je nastavena nula, lhta se nepouije a
procmail bude ekat navdy dokud se soubor neodstrani; pokud
neni specifikovana adna hodnota, implicitn 1024 sekund.
Tato promnna se hodi proti zacykleni sendmailu/procmailu.
Procmail je imunni vi odchylkam hodin na rznych poitaich.
TIMEOUT Poet sekund, ktere musi uplynout ne procmail usoudi, e
nktery z dceinych proces, ktere spustil, musel zamrznout.
Dotyny program obdri od procmailu signal TERMINATE a
zpracovani konfiguraniho souboru bude pokraovat. Pokud je
nula, lhta se nepouije a procmail eka dokud se neukoni
dceiny process; neni-li hodnota specifikovana je implicitni
hodnota 960 sekund.
MSGPREFIX Pedpona souboru, pokud se zprava doruuje do adresae
(nepouiva se pi doruovani do MH adresae).
HOST Pokud toto neni totone se jmenem poitae, ktere vraci
hostname, zpracovani aktualniho konfiguran'iho souboru se
okamit ukoni. Pokud byly na pikazove adce uvedeny dali
konfigurani soubory, zpracovani bude pokraovat nasledujicim
z nich. Pokud ji byly vechny pouity, program se ukoni, ale
nezpsobi chybu (tzn. e potovnimu programu se bude zdat, e
pota byla doruena).
UMASK Jmeno ika ve (pokud ne, zapomete na nj :-). Jakakoliv
hodnota piazena UMASK bude interpretovana jako osmikov'e
islo. Neni-li specifikovano, maska je implicitn 077. Pokud
maska dovoluje o+x, vechny schranky do nich procmail
doruuje pimo prodlaji zmnu o+x. To se da pouit ke kontrole
zda pila nova pota.
SHELLMETAS Pokud se kterykoliv ze znak etzce SHELLMETAS objevi v adku
obsahujicim filtr nebo program, adek bude poslan do $SHELL
namisto pimeho sputni.
SHELLFLAGS Jakekoliv volani $SHELL-u bude uskutenno ve tvaru
"$SHELL" "$SHELLFLAGS" "$*";
SENDMAIL Pokud nepouivate pesmrov'an'i (forwarding), nelamte si s
timhle hlavu. Uruje program, ktery bude forwardovat
jakoukoliv potu.
Vola se jako: "$SENDMAIL" $SENDMAILFLAGS "$@";
NORESRETRY Poet opakovanych pokus pokud nastane nktera z chyb `process
table full' (zaplnni tabulky proces), `file table full'
(zaplnni tabulky soubor), `out of memory' (nedostatek
pamti) nebo `out of swap space' (zaplnni odkladaciho
prostoru). Pokud je toto islo zaporne, procmail to bude
zkouet donekonena; pokud neni specifikovano, implicitni
hodnota je 4. Dali pokusy o opakovani akce nastavaji v
intervalu $SUSPEND sekund. Mylenka tohoto uspoadani spoiva
v tom, e pokud je nap. vyerpan swapovac'i prostor nebo se
zaplnila tabulka proces, obvykle to zjisti nkolik dalich
program, ktere bu skoni nebo zkolabuji, im uvolni
nedostavajici se systemove zdroje procmailu.
SUSPEND as v sekundach kdy bude procmail ekat na nco co momentaln
neni k dispozici (pam, fork, atd.); neni-li specifikovano,
implicitni hodnota je 16 sekund. Viz te: LOCKSLEEP.
LINEBUF Delka interni adkove vyrovnavaci pamti. Nelze nastavit meni
ne 128. Delka adneho adku v konfiguran'im souboru by nemla
pekroit $LINEBUF znak ped ani po provedeni substituci.
Pokud neni specifikovano, standard je 2048. Toto omezeni
samozejm neplat'i na zpravu samotnou; ta me mit libovolne
delky adk nebo me byt i binarnim souborem. Viz te
PROCMAIL_OVERFLOW.
DELIVERED Pokud je nastavena na `yes', procmail bude pedstirat (MTA),
e zprava byla doruena. Pokud pi takovem nastaveni nelze
zpravu doruit, zprava bude navdy ztracena (nebude odeslana
na postmastera apod.).
TRAP Pi ukoneni procmailu (neplati, pokud bylo zpsobeno pijatym
signalem) se provede obsah teto promnne. Kopie zpravy je k
dispozici na standardnim vstupu. Jakykoliv vystup vytvoeny
timto pikazem bude pipojen do souboru $LOGFILE. Mona
pouiti TRAP-u: odstranni doasnych soubor, na miru ite
vytahy zprav, atd. Viz te: EXITCODE a LOGABSTRACT.
EXITCODE Implicitn je navratova hodnota procmailu nula (uspch),
pokud uspn doruil zpravu nebo byla promnna HOST patn
nastavena a na pikazove adce nebyly adne dali konfigurani
soubory; jinak je vraceno selhani. Jet pedtim ale procmail
prozkouma hodnotu teto promnne. Pokud byla teto promnne
piazena kladna hodnota, pouije se jako navratova hodnota pi
ukoneni procmailu. Pokud je tato promnna nastavena, ale
prazdna, procmail pouije navratovou hodnotu vracenou
programem TRAP Pokud tato promnna neni nastavena, procmail
ji nastavi kratce ped vyvolanim programu TRAP.
LASTFOLDER Tuto promnnou nastavi procmail, kdykoliv dorui njakou
zpravu do sloky nebo do programu. Vdy obsahuje jmeno
souboru (nebo programu) kam procmail doruil zpravu. Pokud
byla zprava doruena do vice sloek najednou, bude
$LASTFOLDER obsahovat hardlinkovana jmena soubor oddlna
mezerami.
MATCH Procmail piadi teto promnne hodnotu, kdykoliv ma uloit text
z uspn porovnaneho regularniho vyrazu. Obsahuje vekery text
vyhovujici regularnimu vyrazu za specialnim znakem `\/'.
SHIFT Piazeni kladne hodnoty teto promnne ma stejny efekt jako
pikaz `shift' v sh(1). Tento pikaz ma nejvti vyuiti pi
ziskani dalich argument pedanych procmailu, kdy je pouit
jako genericky filtr e-mailovych zprav.
INCLUDERC Jmeno konfiguraniho souboru (relativni vzhledem k
aktualnimu adresai), ktery bude zaazen do zpracovani, jako
by byl souasti aktualniho konfiguraniho souboru. Vnoovani
je povoleno a je limitovano pouze systemovymi zdroji (pam a
deskriptory soubor). Protoe nejsou provadny adne kontroly
pistupovych prav nebo vlastnika konfiguraniho souboru, mli
by se uivatele INCLUDERC ujistit, e pravo zapisovat do nj
nebo do jeho adresae maji jen dvryhodni uivatele. Piazeni
INCLUDERC na pikazove adce nema adny efekt.
SWITCHRC Uruje konfigurani soubor (relativn k aktualnimu adresai),
na ktery se pi zpracovavani pejde. Pokud tento soubor
neexistuje nebo se nejedna o normalni soubor i /dev/null,
zapie se do logu chyba a zpracovavani bude pokraovat v
aktualnim konfiguranim souboru. V opanem pipad se
zpracovavani aktualniho konfiguraniho souboru ukoni a zane
se s urenym konfiguranim souborem. Odnastaveni (unsetting)
SWITCHRC zpsobi ukoneni zpracovavani aktualniho
konfiguraniho souboru, jako kdyby normaln skonil. Stejn
jako u INCLUDERC se ani zde neprovadi adne kontroly
pistupovych prav a vlastnika konfiguraniho souboru a
piazeni na pikazove adce nemaji adny vliv.
PROCMAIL_VERSION
islo verze sputneho programu procmail.
PROCMAIL_OVERFLOW
Tato promnna bude nastavena na neprazdnou hodnotu pokud
procmail zjisti peteeni bufferu. Viz sekce CHYBY, kde je
uvedeno vice o chovani pi vyskytu peteeni.
COMSAT Implicitn je notifikace Comsat(8)/biff(1) zapnuta. Da se
vypnout nastavenim teto promnne na `no'. Alternativn lze
slubu biff upravit nastavenim teto promnne bu na `sluba@',
`@hostname' nebo `sluba@hostname'. Neni-li specifikovano,
pouije se biff@localhost.
DROPPRIVS Nastavi-li se na `yes', procmail `shodi' vechna prava,
kterych eventualn mohl nabyt (suid, sgid). Toto se hodi
pouze v pipad, e chcete, aby se zbyla ast souboru
/etc/procmailrc provedla jmenem pijemce.
Roz'ien'e regul'arn'i v'yrazy
Nasledujici specialni konstrukce pouiva jak interni egrep v procmailu,
tak standardni egrep(1):
^ Zaatek adku.
$ Konec adku.
. Jakykoliv znak krom konce adku.
a* Posloupnost libovolneho, i nuloveho potu aek.
a+ Posloupnost jednoho nebo vice aek.
a? Jedno nebo adne a.
[^-a-d] Jakykoliv znak, ktery nen'i pomlka, a, b, c, d nebo konec
adku.
de|abc Bu posloupnost `de' nebo `abc'.
(abc)* adny vyskyt nebo libovolny poet opakovani posloupnosti `abc'.
\. Jedina teka; \ se pouiva k uvozeni vech znak se zvlatnim
vyznamem. Viz take pouiti $\ u promnnych.
Tohle byly samozejm pouze piklady. Jakakoliv sloitji kombinace je rovn
pipustna.
Nasledujici specialni konstrukce pouiva specificka rozieni procmailu:
^ nebo $ Odpovida novemu adku (u viceadkovych porovnani).
^^ Zakotvi vyraz na uplnem zaatku porovnavane oblasti, resp. na
jejim uplnem konci je-li tato kombinace nalezena na konci
vyrazu.
\< nebo \>
Porovnani se shoduje se znakem ped anebo za slovem. Tyto
specialni vyrazy jsou pouhym synonymem pro `[^a-zA-Z0-9_]',
ale shoda nastane i pro znak `novy adek'. Jeliko tyto
symboly se shoduji se skutenymi znaky, lze je pouit pouze k
oddleni slov, nikoli pro odlieni mezer mezi slovy.
\/ Rozdluje vyraz na dv asti. Vechno co se shoduje v prave asti
se piadi promnne MATCH.
P'IKLADY
Viz manualova stranka procmailex(5).
N'ASTRAHY
Akni adek, ktery pokrauje na dalim adku musi vdycky konit obracenym
lomitkem, dokonce ani kdyby spoutny shell nepoteboval nebo nechtl, aby
obracene lomitko takovy adek oznaovalo. Dvod spoiva v dvoufazovem
procesu analyzy adku (nejdiv procmail, potom shell (nebo take ne, v
zavislosti na SHELLMETAS)).
Nedavejte na podminkove adky s regularnimi vyrazy adne komentae, protoe
cely adek je kompletn pedan internimu egrepu (krom pokraovacich
obracenych lomitek na konci adku).
Uvodni mezera na adku na nm pokrauje regularni vyraz je obvykle
ignorovana (take mete pokraovani odsadit), ale nikoliv na pokraovacich
podminkovych adcich, ktere jsou vyhodnocovany podle pravidel sh(1) pro
substituce uvnit dvojitych zavorek.
Davejte si pozor na zacykleni pi provadni nezdravych vci, jako teba
odeslani zpravy (forward) na svj vlastni uet. Zacykleni me byt perueno
spravnym pouitim LOCKTIMEOUT.
Jakekoliv implicitni (standardni) hodnoty, ktere ma procmail pro nktere
promnne vdycky pepii u definovane hodnoty. Pokud chcete implicitni
hodnoty s jistotou zmnit, musite nove hodnoty definovat v konfiguran'im
souboru, nebo jako parametr na pikazovem adku.
Soubor /etc/procmailrc neme zmnit nastaveni PATH v uivatelskych
konfiguranich souborech, protoe kdy procmail projde soubor
/etc/procmailrc, je tato hodnota je resetovana. I kdy v teto oblasti
dojde v budoucnu ke zlepeni, jedinym spravnym eenim je v souasne dob
pekompilovani procmailu s poadovanou hodnotou.
Promnne nastavene uvnit akce typu `|' spoutne shellem si nezachov'avaj'i
sve hodnoty po ukoneni pedpisu jeliko jsou nastaveny v podizenem shellu
sputnem procmailem. Chcete-li mit jistotu, e si promnna podri svou
hodnotu, musite provest piazeni jet ped uvozujicim `|' pedpisu.
Pokud definujete v doruujicim pedpisu piznak `h' nebo `b' a dojde ke
shod podminky, pak, pokud jste nedefinovali zarove piznak `c', tlo
zpravy resp. zahlavi bude bez varovani ztraceno.
DAL'I 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
[piblin] Procmail je schopen sam o sob provadt substituce promnnych
pouze tohoto typu: $jmeno, ${jmeno}, ${jmeno:-text}, ${jmeno:+text},
${jmeno-text}, ${jmeno+text}, $\jmeno, $#, $n, $$, $?, $_, $- a $=;
piem za $\name bude dosazen ekvivalent $jmeno bez specialnich vyznam
zvlatnich znak; za $_ bude dosazeno jmeno aktualniho konfiguraniho
souboru, za $- $LASTFOLDER a $= bude obsahovat vysledek posledniho
pedpisu. Vysledek substituce $\jmeno navic nebude rozdlen podle
prazdnych znak. Kdy jsou pouity volby -a nebo -m za $# se dosadi poet
parametr a za "$@" (uvozovky jsou povinne) se dosadi pislune parametry.
Ovem pouze je-li pedavan v seznamu parametr njakemu programu a v tom
pipad je substituovan pouze jeden vyskyt "$@".
Substituce promnnych neohraniene uvozovkami jsou vdycky rozdleny podle
mozer, tabulator a znak konce adku; promnna IFS se intern nepouiva.
Procmail nepodporuje substituci `~'.
Pi zpracovavani konfiguran'iho souboru se pouiva adkova vyrovnavaci pam
(adkovy buffer) o delce $LINEBUF. Jakekoliv rozieni zpracovavaneho
adku pi substitucich nad tento limit bude oiznuto a bude nastavena
promnna PROCMAIL_OVERFLOW. Pokud je adek, na kterem dolo k peteeni
podminkovy nebo akni adek, bude vyhodnocen jako selhani a procmail bude
pokraovat ve zpracovavani. Pokud je to piazeni promnne nebo poateni
adek pedpisu, ukoni procmail zpracovavani konfiguraniho souboru.
Pokud ma globalni semafor (zamek) relativn'i cestu, a aktualni adresa
neni ten, v nm byl semafor vytvoen, potom semafor nebude odstrann,
pokud procmail v tomto mist skoni (eeni: pro globalni semafor pouivejte
absolutn'i cestu).
Pokud ma konfigurani soubor relativn'i cestu a v okamiku jeho prvniho
oteveni obsahuje MAILDIR relativni cestu a pokud je procmail pinucen
rozdvojit se a aktualni adresa byl zmnn od doby, kdy byl konfigurani
soubor oteven, nebude se procmail moci rozdvojit (eeni: pouit absolutn'i
cestu k ureni konfiguraniho souboru nebo zajistit, aby MAILDIR
obsahoval absolutni cestu, kdy je konfigurani soubor oteviran).
Lokalni semafor v pedpisu, ktery otevira neforkujici vnoeny blok nebude
fungovat tak, jak ekate.
Pi uloeni obsahu standardniho vystupu pedpisu do promnne bude odstrann
prav jeden koncovy znak `novy adek'.
Nektere nevhodne a nejasne regularni vyrazy zpsobi nastaveni MATCH na
nespravnou hodnotu. Regularni vyraz me byt opraven odstrannim jednoho
nebo vice nepotebnych operator '*', '+', nebo '?' na leve stran
specialni konstrukce \/ .
RZN'E
Pokud regularni vyraz obsahuje `^TO_', bude tento etzec nahrazen
vyrazem `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)', co by mlo zachytit
vechny mone specifikace adresata obsahujici uritou adresu.
Pokud regularni vyraz obsahuje `^TO', bude tento etzec nahrazen vyrazem
`(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
|Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)', co by mlo zachytit vechny
mone specifikace adresata obsahujici urite slovo.
Pokud regularni vyraz obsahuje `^FROM_DAEMON', bude to nahrazeno
vyrazem [piblin] `(^(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 mlo zachytit zpravy odeslane
vtinou demon.
[piblin] Pokud regularni vyraz obsahuje `^FROM_MAILER', bude to
nahrazeno vyrazem [piblin] `(^(((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 ][^<)]*(\(.*\).*)?)?$([^>]
|$))' (oezana verze `^FROM_DAEMON'), co by mlo zachytit zpravy od vtiny
potovnich demon.
[piblin] Pro piazeni logickych hodnot promnnym jako VERBOSE, DELIVERED
nebo COMSAT procmail akceptuje jako logickou jedniku kady etzec, ktery
zaina: nenulovou hodnotou, slovem `on', `y', `t' nebo `e'. Nepravda
(logicka 0) je jakykoliv etzec zainajici nulovou hodnotou, `off', `n',
`f' nebo `d'.
Pokud akni adek pedpisu specifikuje program, pak adek skladajici se z
pouhe dvojice zptne lomitko-novy adek na jinak prazdnem adku bude
peveden na znak novy adek.
Zpracovani regularnich vyraz, zabudovane v procmailu, nepodporuje
pojmenovane tidy znak (named character classes).
POZN'AMKY
Jeliko v konfiguranim souboru se veobecn ignoruji uvodni bile znaky bez
uvozovek, mete je vyuit zcela dle sve chuti k odsazovani textu.
Uvodni `|' na zaatku akniho adku, ktere specifikuje program nebo filtr
se odee jet ped testovanim adku na pitomnost $SHELLMETAS.
Soubory zahrnute direktivou INCLUDERC a obsahujici pouze piazeni do
promnnych mohou byt sdileny s sh.
Souasne chovani piazeni INCLUDERC a SWITCHRC na pikazovem adku neme byt
zarueno. V minulosti se ji zmnilo a v dalich verzich me byt zmnno znovu
nebo upln vyputno.
Chcete-li opravdu komplikovane zpracovani, mete zvait dokonce
rekurzivni volani procmailu.
Za starych as muselo byt ':0' znaici zaatek noveho pedpisu zmnno na
':n', kde 'n' pedstavuje poet podminek, ktere nasleduji.
AUTOI
Stephen R. van den Berg
<srb@cuci.nl>
Philip A. Guenther
<guenther@sendmail.com>