procmail - automatikus levélfeldolgozó/kezelő
program
ÖSSZEGZÉS
procmail [-ptoY] [-f fromwhom]
[paraméter=érték|konfigállomány]
...
procmail [-toY] [-f fromwhom] [-a
érték] ... -d címzett ...
procmail [-ptY] -m
[paraméter=érték] ...
konfigállomány [érték] ...
procmail -v
Rövid ismertető a súgó
végén található a MEGJEGYZÉS
részben.
Alapesetben a procmail a .forward
levélátirányításkor lép
működésbe. Ettől eltérően, ha a
rendszer üzemeltetője beállította, a
levelezőprogrammal együtt is használható.
Indításkor mindig az alapértékekkel tölt
fel bizonyos környezeti változókat, a szabványos
bemenetről olvassa be sorvége jelig a levelet, majd a
fejléc alapján, ha nincs megadva semmilyen parancssori
kapcsoló, akkor a $HOME/.procmailrc-ben
található szűrést végzi el, ha
szükséges. Ha nem található ilyen
konfigurációs állomány, vagy
feldolgozáskor hiba merül fel, akkor a levelet az
alapértelmezett postafiókba (mailbox)
továbbítja.
Konfigurációs állomány (rcfile)
és -p parancssori kapcsoló hiányában a
procmail először a /etc/procmailrc
állományt dolgozza fel (ha van ilyen). Az /etc/procmailrc
állomány létrehozásakor figyelni kell arra, hogy
a benne megadott műveletek root jogosultsággal
hajtódnak végre, szemben a $HOME/.procmailrc -ben
megadottakkal.
Suid root vagy root jogokkal egy komplett
levéltovábbító programként lehet
használni a procmailt.
Procmailt a levelek általános
szűrésére is lehet használni, pl. a sendmailben
speciális bejegyzéssel lehet futtatni.
A konfigurációs állomány
felépítéséről részletesen a
procmailrc(5) súgóban lehet olvasni.
A súlyozott értékelési
módszerről részletes információ a
procmailsc(5) súgóban található.
Néhány konfigurációs
példát pedig a procmailex(5) súgóban
lehet megtalálni.
- -v
- A procmailt kiírja a verziószámát, valamint a
fordításkor megadott beállításokat
és kilép.
- -p
- Preserve any old environment. Normally procmail clears the environment
upon startup, except for the value of TZ. However, in any case: any
default values will override any preexisting environment variables, i.e.,
procmail will not pay any attention to any predefined environment
variables, it will happily overwrite them with its own defaults. For the
list of environment variables that procmail will preset see the
procmailrc(5) man page. If both -p and -m are specified, the list
of preset environment variables shrinks to just: LOGNAME, HOME, SHELL,
USER_SHELL, ORGMAIL and MAILDIR.
- -t
- Csökkentett feldolgozás, pl. ha a procmail nem tudja a
szűrési feltételben megadott parancs(oka)t
végrehajtani, akkor nem törli a levelet, hanem meghagyja
későbbi feldolgozásra.
- -f fromwhom
- A procmail a `From ' sort a fromwhom -ban megadottra
cseréli, ezzel eléri, hogy mintha az lett volna az eredeti
feladó (az -f kapcsoló helyett használható az
-r kapcsoló is). Ha fromwhom -nak csak egy `-' jelet adunk
meg, akkor a procmail mindössze a `From ' sorban
található idő értékét
frissíti (ha nincs ilyen rész, akkor létrehozza azt).
- -o
- Megakadályozza, hogy bárki módosíthassa a
`From ' sor tartalmát.
- -Y
- A hagyományos Berkeley postafiók formátumot
használja, figyelmen kívül hagyva a
Content-Length: mezőket.
- -a
érték
- This will set $1 to be equal to argument. Each succeeding
-a argument will set the next number variable ($2, $3, etc).
It can be used to pass meta information along to procmail. This is
typically done by passing along the $@x information from the sendmail
mailer rule.
- -d címzett
...
- Közvetlen levéltovábbítás. Ebben az
esetben a címzettben megadott helyi
felhasználókhoz lesznek továbbítva a levelek.
Ez természetesen csak akkor lehetséges, ha a procmail root
jogokkal (vagy ha már a címzett euid és egid
jogaival) fut. Ebben az esetben a -p kapcsolót nem lehet
használni.
- -m
- A procmail egy általános
levélfeldolgozóként fog működni. Ebben
az esetben egy konfigurációs állományt is meg
kell adni a parancssorban. A konfigurációs
állomány neve után bármilyen kapcsoló
megadható. Ha a konfigfájl az /etc/procmailrcs/
résszel kezdődő abszolút elérési
úttal lett megadva (vagy ennek alkönyvtárában
van), akkor a megadott állomány vagy szimbolikus
kötés (symbolic link) tulajdonjogával fog futni,
hacsak nem az biztonsági problémát nem okozna. A
kapcsoló használatáról a súgó
PÉLDÁK részében további
információ található.
ÉRTÉKEK
Any arguments containing an '=' are considered to be environment
variable assignments, they will all be evaluated after the default
values have been assigned and before the first rcfile is opened.
Minden más értéket konfigfájl
megadásának minősít, legyen az abszolút
vagy relatív útvonal hivatkozás (pl. ./) A
relatív útvonalak esetén a kiindulási
könyvtárnak a $HOME-ot veszi, hacsak nem az -m
kapcsolót nem használtuk. Ebben az esetben az aktuális
könyvtár a relatív hivatkozás kiindulási
pontja. A procmail mindig az első megadott értékkel
próbál meg dolgozni, de ha az nem ad meg alkalmas
állománybejegyzést, akkor sorra veszi a többi
értéket is, amíg szükséges.
Konfigurációs fájl megadása
nélkül a $HOME/.procmailrc állományt
próbálja megnyitni. Ha ez nem lehetséges, akkor a
környezeti változók és a parancssorban megadott
értékek szerint fog futni.
Szűrési feltételekre minta
példákat a procmailex(5) súgóban lehet
találni. Egy egyszerű példa ezen súgó
MEGJEGYZÉS részében is
található.
A következőkben a rendszer adminisztrátorok
és a sendmail.cf szerkesztésében járatosak
számára következnek hasznos tanácsok, akit nem
érdekel az nyugodtan átugorhatja ezt a részt.
Az -m kapcsolót leginkább akkor
használhatjuk, ha a procmailt a sendmail.cf állomány
egyik beállításaként hívjuk meg. Ehhez
szükséges a sendmail.cf fájlban egy külön
procmail-levélküldő részt megadni
(hasonlót, mint a valószínűleg már
létező `helyi' levélküldőhöz
(local mailer)). Ehhez a következőt célszerű a
fájlban elhelyezni.
Mprocmail, P=/usr/bin/procmail, F=mSDFMhun, S=11, R=21,
A=procmail -m $h $g $u
Ezzel lehetséges különböző
szűrési módokat elvégezni (hasonlókat,
mint a 0-val kezdődően beállítottakkal) a
procmail-el (a feltételben megadott tabulátorok fontosak, mind
a feltétel előtt, mind a megjegyzések
előtt):
R$*<@some.where>$*
$#procmail $@/etc/procmailrcs/valami.rc $:$1@vala.hol.procmail$2
R$*<@$*.procmail>$*
$1<@$2>$3 szűrt levelek továbbengedése
Az /etc/procmailrcs/valami.rc tartalma pedig:
SENDER = "<$1>" # fix for empty sender addresses SHIFT = 1 # remove
it from $@
:0 # levélszemét (junk mail) szűrése * ^Subject:.*junk /dev/null
:0 w # pass along all other mail ! -oi -f "$SENDER" "$@"
Vigyázzunk arra, hogy csak olyan levelet
küldjünk el, amely az elsőként megadott
feltételnek NEM felel meg, mert különben a levél
nem jutna el a címzetthez.
- /etc/passwd
- to set the recipient's LOGNAME, HOME and USER_SHELL variable defaults
- /var/mail/$LOGNAME
- rendszerszintű postafiók; a rendszerszintű
postafiók és a könyvtár létre
hozásra kerül a procmail indításakor, ha
valamelyik nem létezne
- /etc/procmailrc
- rendszerszintű konfigurációs állomány
- /etc/procmailrcs/
- speciális könyvtár az eltérő
jogosultságú konfigurációs
állományoknak
- $HOME/.procmailrc
- alapértelmezett konfigfájl
- /var/mail/$LOGNAME.lock
- záróállomány a felhasználó
rendszerszintű postafiókjához (a procmail csak akkor
használja, ha a $DEFAULT értéke /var/mail/$LOGNAME
és a procmail a $DEFAULT-ba továbbítja a leveleket)
- /usr/sbin/sendmail
- alapértelmezett levéltovábbító
- _????`hostname`
- a procmail által átmenetileg létrehozott
nullahosszúságú állomány
procmailrc(5), procmailsc(5), procmailex(5),
sh(1), csh(1), mail(1), mailx(1),
uucp(1), aliases(5), sendmail(8), egrep(1),
grep(1), biff(1), comsat(8), lockfile(1),
formail(1), cron(1)
- (Fordító megjegyzése: A hibaüzenetek angolul
olvashatók azok könnyebb
- azonosítása végett, de alattuk szögletes []
zárójelben magyar fordításuk is
megtalálható.) Autoforwarding mailbox found [Automatikus
levéltovábbküldés a
postafiókból] [Automatikus
levéltovábbküldés a
postafiókból]A rendszeren található az adott
suid és sgid-es postafiók, a procmail EX_NOUSER
üzenettel leáll, a levelet nem továbbítja.
- Bad substitution of
"x"
- ["x" hibás megadása] A környezeti
változó hibásan lett megadva.
- Closing brace
unexpected
- [Hiányzó záró idézőjel] Nem
található nyitó idézőjel, az
idézőjelek közötti szöveg nem
azonosítható.
- Conflicting
options
- [Ellentétes kapcsolók] Nem mindegyik kapcsolót lehet
másikkal egyidejűleg megadni.
- Conflicting
x suppressed
- [Ellentétes x figyelmen kívül hagyása] A
szűrésnél megadottak egyikével
ütközik az x.
- Couldn't create
"x"
- [Nem hozható létre az "x"] A postafiók a
rendszeren nem hozható létre.
- Couldn't create
maildir part "x"
- The maildir folder "x" is missing one or more required
subdirectories and procmail could not create them.
- Couldn't create or
rename temp file "x"
- An error occurred in the mechanics of delivering to the directory folder
"x".
- Couldn't determine
implicit lockfile from "x"
- [Nem határozható meg az "x"
záróállomány közvetlenül]
Hiányoznak a `>>' átirányítók,
helyettük a `$LOCKEXT' záróállomány
használata történik.
- Couldn't read
"x"
- Procmail was unable to open an rcfile or it was not a regular file, or
procmail couldn't open an MH directory to find the highest numbered file.
- Couldn't unlock
"x"
- [Hiba "x" zárolásának
megszüntetésekor] A záróállomány
vagy le lett törölve, vagy a jogosultságok a
törlésre meg lettek szüntetve.
- Deadlock attempted on
"x"
- [Létező zárolás "x"-en] A
szűrésnél megadott
záróállomány egy jelenleg
működő záróállománnyal
azonos nevű.
- Denying special
privileges for "x"
- [Különleges jogosultságok figyelmen
kívül hagyása "x"-en] A konfigfájl
jogaival a procmail biztonsági okokból nem fog futni
(okozhatja azt pl. a -p kapcsoló vagy adott
környezeti változó); a jogok a
működéséhez rosszul lettek megadva.
- Descriptor
"x" was not open
- As procmail was started, stdin, stdout or stderr was not connected
(possibly an attempt to subvert security)
- Enforcing stricter
permissions on "x"
- ["x" jogosultságai nem elég biztonságosak]
A felhasználó rendszerszintű postafiókja nem
rendelkezik a megfelelő jogosultságokkal, a procmail
kijavította a hibát.
- Error while writing to
"x"
- [Hiba az "x" írásakor] Nem létező
alkönyvtár, vagy írási jogosultság
hiánya, esetleg megtelt a lemez.
- Exceeded
LINEBUF
- [LINEBUF túllépése] Buffer overflow detected, LINEBUF
was too small, PROCMAIL_OVERFLOW has been set.
- MAILDIR is not an
absolute path
-
- MAILDIR path too
long
-
- ORGMAIL is not an
absolute path
-
- ORGMAIL path too
long
-
- default rcfile is not an
absolute path
-
- default rcfile path
too long
- The specified item's full path, when expanded, was longer than LINEBUF or
didn't start with a file separator.
- Excessive output
quenched from "x"
- [Túl sok kimenet "x"-nél] The backquoted
expression "x" tried to produce too much output for the current
LINEBUF; the rest was discarded and PROCMAIL_OVERFLOW has been set.
- [Felesleges x] The action line or other flags on this recipe make x
meaningless.
- Failed forking
"x"
- [Hiba "x" ágaztatásakor] A folyamattábla
(process table) megtelt (és a NORESRETRY nem lett
felhasználva).
- Failed to execute
"x"
- [Hiba "x" futtatásakor] A program nem
található, vagy nem futtatható.
- Forced unlock denied on
"x"
- [Nem lehet a zárolást az "x"-en erőszakkal
sem megszüntetni] Írási jogosultság
hiánya az "x"
záróállományt tartalmazó
könyvtárra, vagy egyszerre több procmail
próbálta megszüntetni a zárolást.
- Forcing lock on
"x"
- ["x" zárolása erőszakkal] Az "x"
záróállomány erőszakkal lett
törölve időtúllépés miatt (ld.
IDŐTÚLLÉPÉS részt).
- Incomplete
recipe
- [Hiányos/nem teljes szűrési feltétel] A
szűrési feltétel EOF-al végződik.
- Insufficient
privileges
- [Nem megfelelő jogosultságok] A procmail
működéséhez vagy root, vagy a
szükséges (e)uid és (e)gid jogok
szükségesek. A levelet nem lehet feldolgozni.
- Invalid regexp
"x"
- [Érvénytelen "x" kifejezés] Hibás
"x" kifejezés (legvalószínűbb hogy
hiányzó vagy túl sok idézőjel van).
- Kernel-lock
failed
- [Hiba a kernel-zárolásnál] A kernel által
támogatott zárolások meghívásakor hiba
lépett fel (általában OP hibát jelent ez), a
procmail a hibát figyelmen kívül hagyva folytatja
működését.
- Kernel-unlock
failed
- [Hiba a kernel-zárolás megszüntetésekor] Ld.
fent.
- Lock failure on
"x"
- [Hiba az "x" zárolásakor] Nem megfelelő
vagy nagyon furcsa
záróállomány-név lett megadva,
vagy hiányoznak a szükséges jogok, esetleg a
záróállományt tartalmazó
alkönyvtár.
- Lost "x"
- [Hiányzó "x"] A procmail másolatot
indított volna magáról, de nem találja a
szükséges "x" konfigurációs
állományt (az vagy át lett helyezve, vagy a
relatív útvonal megadása esetén
könyvtárváltás történt).
- Missing action
- The current recipe was found to be incomplete.
- Missing closing
brace
- [Hiányzó záró zárójel] A
kifejezésből hiányzik a záró
zárójel.
- Missing
name
- [Hiányzó név] Az -f kapcsolóhoz nem lett
megadva a szükséges érték.
- Missing
argument
- [Hiányzó érték] Az -a kapcsoló
után nem lett érték megadva.
- Missing
rcfile
- [Hiányzó konfigfájl] Az -m kapcsoló
után a konfigurációs állomány
helyét kell megadni.
- Missing
recipient
- [Hiányzó címzett] A -d kapcsolóval vagy
másik felhasználó neve alatt lett elindítva a
procmail, ekkor egy vagy több címzettet kell felsorolni a
parancssorban.
- No space left to finish writing
"x"
- [Nincs elég üres hely az "x"
írásakor] Az "x"-et tartalmazó
fájlrendszeren nincs elég üres hely a
továbbküldéshez.
- Out of memory
- [Nincs elég memória] A lapozó (swap space) teljes
mértékben fel lett használva (és a NORESRETRY
nem lett felhasználva).
- Processing
continued
- [Feldolgozás folytatása] A parancssorban megadott ismeretlen
kapcsoló figyelmen kívül lett hagyva, a
feldolgozás tovább folyik.
- Program failure (nnn) of
"x"
- ["x" program hiba, hibakód (nnn)] A procmail-lel
meghívott program az EXIT_SUCCESS (=0) helyett (nnn)
értékkel tért vissza. Negatív nnn a program
befejezését előidéző szignál
értékét jelenti.
- Quota exceeded while writing
"x"
- [Kvóta túllépése "x"
írásakor] Az "x"-et tartalmazó
fájlrendszeren a címzettnek megadott kvóta túl
lett lépve, az üzenetet nem lehet továbbítani.
- Renaming bogus
"x" into "x"
- [Hibás "x" átnevezése "x"-re] A
címzett postafiókjának hibáját a
procmail kijavította.
- Rescue of unfiltered data
succeeded/failed
- [Sikerült/nem sikerült visszaállítani a nem
vizsgált adatot] Sikertelen szűrés esetén a
procmail az eredeti szövegből próbál meg
újra kiindulni.
- Skipped:
"x"
- ["x" kihagyása] A konfigállományban az
"x" figyelmen kívül hagyva (szintaxis hiba).
- Suspicious rcfile
"x"
- [Gyanú "x" konfigurációs fájl] The
owner of the rcfile was not the recipient or root, the file was world
writable, or the directory that contained it was world writable, or this
was the default rcfile ($HOME/.procmailrc) and either it was group
writable or the directory that contained it was group writable (the rcfile
was not used).
- Terminating
prematurely whilst waiting for ...
- [Kilépés ...-ra várva] A procmail kilépett a
... várása közben.
- Timeout, terminating
"x"
- [Időtúllépés, "x"
bezárása] "x" programnál vagy
szűrőnél időtúllépés
következett be.
- Timeout, was
waiting for "x"
- [Időtúllépés az "x"-re
várás közben] "x" program,
szűrő vagy fájl esetén
időtúllépés történt. Ha az egy
program vagy szűrő volt, akkor
valószínűleg már befejezte
működését.
- Truncated file to
former size
- [Állomány eredeti méretének
visszaállítása] A fájlt nem lehetett sikeresen
továbbküldeni, így vissza lett állítva
eredeti állapotára.
- Truncating
"x" and retrying lock
- ["x" elvetése és zárolás
megszüntetése] "x" névvel nem
található állomány, vagy az
állomány üres.
- Unable to treat as
directory "x"
- Either the suffix on "x" would indicate that it should be an MH
or maildir folder, or it was listed as an second folder into which to
link, but it already exists and is not a directory.
- Unexpected
EOL
- [Nem várt EOL] Hiányzó záró
aposztróf, vagy EOF.
- Unknown user
"x"
- [Ismeretlen "x" felhasználó] A megadott
címzett nem rendelkezik uid-val.
Részletes hibakereséshez a VERBOSE
változót kell ki/bekapcsolni.
- [pid] idő & dátum
- A procmail pid-je és működési ideje. Minden
olyan esetben létrehozásra kerül, amikor a procmail
naplózza az üzeneteket és legalább 1
másodperc eltelt a működési
időből.
- Acquiring
kernel-lock
- [Kernel-zárolás meghívása] A procmail a
legutoljára megnyitott állományt (descriptor)
próbálja meg kernel-zárolni.
- Assigning
"x"
- ["x" megadása] Környezeti változó
megadása.
- Assuming identity of
the recipient, VERBOSE=off
- [A címzett elfogadása, VERBOSE=off] Jogok (ha vannak)
figyelmen kívül hagyása, részletes
kijelezés kikapcsolása.
- Bypassed locking
"x"
- [Hozzáférés "x"-hez annak
zárolása nélkül] A leveleket tartalmazó
könyvtár nem hozzáférhető a procmail
számára, kizárólag
kernel-zárolással érhető el.
- Executing
"x"
- ["x" futtatása] "x" program
elindítása. Ha közvetlenül a
procmailből (nem egy átmeneti burokból) futtatjuk,
akkor a procmail az értékeket vesszővel
elválasztva írja ki.
- HOST mismatched
"x"
- [Eltérés "x" és HOST között]
A rendszert "x"-nek hívják, azonban a HOST-ban
más van megadva.
- Locking
"x"
- ["x" zárolása] "x"
záróállomány létrehozása.
- Linking to
"x"
- [Hivatkozás "x"-re] Különböző
mappák közötti keménykötés
(hardlink) létrehozva.
- Match on
"x"
- [Azonosság "x"-el] A vizsgált feltétel
igaz.
- Matched
"x"
- [Megadott "x"] Az "x" értéke
hozzá lett rendelve a MATCH-hoz.
- No match on
"x"
- [Nem azonos "x"-el] A vizsgált feltétel nem igaz,
szűrés átugorva.
- Non-zero exitcode (nnn) by
"x"
- Program that was started by procmail as a condition or as the action of a
recipe with the `W' flag returned nnn instead of EXIT_SUCCESS (=0); the
usage indicates that this is not an entirely unexpected condition.
- Notified comsat:
"$LOGNAME@offset:file"
- [Comsat megjegyzés: "$LOGNAME@hely:fájl"]
Comsat/biff üzenet küldése levél
érkezéséről a $LOGNAME
felhasználónak a "fájlba" a megadott
"helyre".
- Opening
"x"
- ["x" megnyitása] "x" állomány
megnyitása hozzáfűzésre.
- Rcfile:
"x"
- [Konfigurációs állomány: "x"] A
konfigurációs állomány neve "x".
- Reiterating
kernel-lock
- [Visszatérő kernel-zárolás]
Különböző zárolási
módszerek közül az egyik nem volt sikeres. A procmail
addig próbálja a zárolást újra,
amíg mindegyik sikeres nem lesz.
- Score: added newtotal
"x"
- [Pont hozzáadva, összesen: "x"] A megadott
pontokat hozzáadja a már meglévőkhöz,
majd kiírja az összeget.
- Unlocking
"x"
- ["x" zárolásának
megszüntetése] "x"
záróállomány
eltávolítása.
You should create a shell script that uses lockfile(1)
before invoking your mail shell on any mailbox file other than the system
mailbox (unless of course, your mail shell uses the same lockfiles (local or
global) you specified in your rcfile).
Ha valamilyen okból a procmail programot idő
előtt be szeretnénk zárni, akkor először
a kill parancsot (de nem a 'kill -9'-et, az eltérő
értékű JELZÉS miatt) használjuk,
különben néhány
záróállomány nem kerül
törlésre.
Óvatosan használjuk a -t kapcsolót,
mivel ebben az esetben a procmail hamar megtöltheti a
postafiókot továbbküldési hiba (pl. rosszul
beállított, hibás konfigurációs
állomány) esetén. Ez gondot okozhat mind a
postmaster-nél és a helyi
felhasználóknál.
Az /etc/procmailrc állomány root jogokkal is
futhat, így jól gondoljuk meg, hogy mit helyezünk el
benne, mit hajtatunk végre vele. A SHELL a
címzettével azonos, így ha szükséges a
burok elindítása, akkor a hibalehetőségek
csökkentéséért először valamilyen
jól működő értékre
állítsuk be azt. Lásd : DROPPRIVS
kapcsolók.
Ügyeljünk arra, hogy az /etc/procmailrcs/
állományok tulajdonosát meg lehet változtatni
chown(1)-val root-ra vagy bármi másra.
Biztonsági szempontból ezért célszerű,
hogy ebbe a könyvtárba csak a root tudjon
belépni
Procmail is not the proper tool for sharing one mailbox among many
users, such as when you have one POP account for all mail to your domain. It
can be done if you manage to configure your MTA to add some headers with the
envelope recipient data in order to tell Procmail who a message is for, but
this is usually not the right thing to do. Perhaps you want to investigate
if your MTA offers `virtual user tables', or check out the `multidrop'
facility of Fetchmail.
A záróállomány erőszakkal
történő törlése után a procmail a
$SUSPEND-ben megadott másodpercig várakozik, mielőtt
egy új záróállományt hoz létre,
így egy másik program amely törölné a
régi záróállományt nem fogja az
újonnan létrehozott záróállományt
törölni.
A procmail hagyományos BEZÁR (TERMINATE)
jelzéssel szakítja meg a nem-megfelelően
működő szűrőket, azonban nem figyeli azok
válaszát a jelzésre, és mindössze a
szűrőnek küldi a jelzést el, a
gyerek-folyamatoknak (filter's children).
A folytatott Content-Length: mezőket nem kezeli
megfelelően a procmail.
The embedded newlines in a continued header should be skipped when
matching instead of being treated as a single space as they are now.
Ha a levél fejlécében Content-Length:
mező van, valamint az -Y kapcsoló nincs megadva, a
procmail a mezőt figyelmen kívül hagyja. A
mezőszélességét a procmail nem
változtatja meg.
Ha hiányzik a Content-Length: mező és
az -Y kapcsoló meg lett adva, valamint a procmail a
hagyományos postafiókba továbbítja a levelet,
akkor a levél törzsében a postmarks-hoz hasonló
sorok elé egy `>' jelet szúr be (a furcsa fejlécek
megkülönböztetéséhez). Az ajánlott
forma az ilyen postmark-ok kereséséhez az alábbi:
If the destination name used in explicit delivery mode is not in
/etc/passwd, procmail will proceed as if explicit delivery mode was not in
effect. If not in explicit delivery mode and should the uid procmail is
running under, have no corresponding /etc/passwd entry, then HOME will
default to /, LOGNAME will default to #uid, USER_SHELL will default to
/bin/sh, and ORGMAIL will default to /tmp/dead.letter.
Közvetlen továbbításánál
a hiányzó `From ' mezőt a procmail automatikusan
létrehozza, ha már létezik, akkor azt nem
változtatja meg. Ha a procmail nem a következő
felhasználói vagy csoport nevek valamelyikével fut:
root, daemon, uucp, mail, x400, network, list, slist, lists vagy news,
és meg lett adva a `From ' mező
újragenerálása akkor az `>From' -ként lesz
létrehozva, ezzel segítve a levelek
megkülönböztetését.
For security reasons procmail will only use an absolute or
$HOME-relative rcfile if it is owned by the recipient or root, not world
writable, and the directory it is contained in is not world writable. The
$HOME/.procmailrc file has the additional constraint of not being
group-writable or in a group-writable directory.
Ha különböző hibák fordulnak
elő a /var/mail/$LOGNAME postafióknál (pl. nem a
címzett annak a tulajdonosa, nem írható,
szimbólikus vagy kemény kötés) ,akkor a procmail
hozzáféréskor megpróbálja
`BOGUS.$LOGNAME'-re azt átnevezni, és külön
node-számmal ellátni. Ha ez nem lehetséges, akkor az
ORGMAIL változó nem kap megfelelő
értéket, ezáltal még megfelelő
konfigurációs állomány esetén sem
történik levélfeldolgozás.
Létező, de hibás jogosultságokkal
rendelkező /var/mail/$LOGNAME postafiók esetén a
procmail megpróbálja a hibát kijavítani. Ha nem
szeretnénk, hogy a procmail kijavítsa az ilyen hibát,
akkor u+x jelzést kell az állományra helyezni.
When delivering to directories, MH folders, or maildir folders,
you don't need to use lockfiles to prevent several concurrently
running procmail programs from messing up.
MH-fiókba kicsit lassabban történik , mint
egy sima könyvtárba vagy levélmappába a
levéltovábbítás. A procmailnak ekkor meg kell
keresni a legnagyobb sorszámú levelet a fiókban (a
többi esetben nem kell ilyet elvégezni).
Általános hibát a procmail az EX_CANTCREAT
-el jelzi, kivéve ha a -t kapcsoló meg lett adva. Ebben
az esetben EX_TEMPFAIL -el történik a hibajelzés.
A fejlécek pontosabb kereséséhez (egrepping)
a procmail összefűzi azokat a levélen belül.
Továbbításkor azonban a fejléceket
visszaállítja eredeti állapotukba.
Ha a procmailt nem `procmail'-el kezdődő
programnév alatt indítjuk el (pl. egy
másiknévvel hivatkozunk rá kötéssel),
akkor közvetlen módban fog működni. Ekkor/ehhez
viszont a parancssorban a címzetteket fel kell sorolni (úgy
mint a -d kapcsoló esetén).
udp-vel történik a comsat/biff
értesítés. A naplóállomány
(logfile) lezárása után értesíti a
programokat az új levélről a procmail. Az
értesítés az alábbi részletes
formátumban (vagy valami hasonlóban)
történik:
$LOGNAME@üzenet_helye_a_postafiókban :postafiók_abszolút_útvonala
Whenever procmail itself opens a file to deliver to, it
consistently uses the following kernel locking strategies :
fcntl(2).
A procmail képes NFS-en és 8-bittel
működni.
A -h vagy -? kapcsolókkal indított procmail a
parancssori súgót és a lehetséges
szűrőfeltételek rövid
leírását jeleníti meg.
Kezdőknek a Nancy McGough <nancym@ii.com>
által összeállított
levélszűrőkről (így a procmailről
is) szóló GYIK-ot (FAQ) ajánljuk. Beszerezhető a
mail-server@rtfm.mit.edu címre küldött
send usenet/news.answers/mail/filtering-faq tartalmú levéllel.
If procmail is not installed globally as the default mail
delivery agent (ask your system administrator), you have to make sure it is
invoked when your mail arrives. In this case your $HOME/.forward (beware, it
has to be world readable) file should contain the line below. Be sure
to include the single and double quotes, and unless you know your site to be
running smrsh (the SendMail Restricted SHell), it must be an absolute
path.
" |exec /usr/bin/procmail"
Some mailers (notably exim) do not currently accept the above
syntax. In such case use this instead:
|/usr/bin/procmail
A procmailt egy már létező postafiók
szűrésére is fel lehet használni. Ez akkor lehet
hasznos, ha a $HOME/.forward -ot nem lehet/nem tudjuk használni
(ekkor a következő szkriptet célszerű bizonyos
időközönként elindítatni a cron(1)
-al vagy a levelek olvasásának megkezdése
előtt):
#!/bin/sh
ORGMAIL=/var/mail/$LOGNAME
if cd $HOME &&
test -s $ORGMAIL &&
lockfile -r0 -l1024 .newmail.lock 2>/dev/null
then
trap "rm -f .newmail.lock" 1 2 3 13 15
umask 077
lockfile -l1024 -ml
cat $ORGMAIL >>.newmail &&
cat /dev/null >$ORGMAIL
lockfile -mu
formail -s procmail <.newmail &&
rm -f .newmail
rm -f .newmail.lock
fi
exit 0
PATH=/bin:/usr/bin:/usr/bin
MAILDIR=$HOME/Mail #ellenőrizzük, hogy létezik-e
DEFAULT=$MAILDIR/mbox #nem kötelező megadni
LOGFILE=$MAILDIR/from #ajánlott megadni
:0:
* ^From.*miki
from_miki
:0
* ^Subject:.*Flame
/dev/null
A procmailex(5) súgóban további
példák találhatók.
This program is part of the procmail
mail-processing-package (v3.24) available at http://www.procmail.org/ or
ftp.procmail.org in pub/procmail/.
A procmail csomaggal kapcsolatos
kérdéseidet/észrevételeidet a
<procmail-users@procmail.org>
címen működő levelezőlistán teheted fel.
<procmail-users-request@procmail.org>
címre kell írni a feliratkozáshoz.
Ha érdekelnek a legfrissebb verziók, hibajavítások
akkor a következő listára kell feliratkoznod:
procmail-announce-request@procmail.org
(a lista csak olvasható).
A kézikönyv magyar fordítását a
Vizi Szilárd <vizisz@freemail.hu> készítette.
Ez a fordítás ingyenes dokumentáció;
lásd a
GNU General
Public License 3. Vagy újabb verzióját a
szerzői jogi feltételekkel kapcsolatban.
Feltételezzük, hogy NEM FELELŐSSÉG.
Ha hibát talál a kézikönyv oldal
fordításában, küldje el a e-mail cím:
TODO..