procmail - automaattinen sähköpostin
käsittelijä
procmail [-ptoY] [-f keneltä]
[parameter=arvo | ohjetiedosto] ...
procmail [-toY] [-f keneltä] [-a
argumentti] ... -d vastaanottaja ...
procmail [-ptY] -m [parametri=arvo]
... ohjetiedosto [argumentti] ...
procmail -v
Päästäksesi suoraan asiaan, katso
MERKINNÄT manuaalitiedoston lopussa.
Yleensä Procmail käynnistetään
automaattisesti tiedoston .forward kautta heti, kun
sähköposti saapuu. Vaihtoehtoisesti, jos toiminnan asentaa
systeemin ylläpitäjä, se voidaan
käynnistää heti sähköpostin
välittäjäohjelmasta.
Käynnistyessään ohjelma asettaa joitain
ympäristömuuttujia oletusarvoihinsa, lukee
sähköpostiviestin vakiosyötteestä tiedoston
loppumerkkiin saakka, erottaa viestinrungon sen otsikkotiedoista ja lopulta,
jos mitään komentoriviargumentteja ei ole annettu, etsii
tiedostoa nimeltään $HOME/.procmailrc.
Tässä tiedostossa olevien käsittelyohjeiden mukaan
juuri saapunut sähköpostiviesti mm. siirretään
oikeaan kansioon. Jos ohjetiedostoa ei löydy tai ohjetiedoston
käsittely epäonnistuu, procmail tallettaa viestin systeemin
oletuspostilaatikkoon.
Jos ohjetiedostoja eikä optiota -p ole asetettu
komentorivillä, procmail käy läpi ennen tiedoston
$HOME/.procmailrc lukemista komennot tiedostosta /etc/procmailrc (jos
se on olemassa). Tiedoston /etc/procmailrc luonnissa täytyy olla
varovainen, sillä olosuhteiden sen salliessa se ajetaan
pääkäyttäjän (root) oikeuksilla
(tietenkin päin vastoin kuin tiedosto $HOME/.procmailrc).
Jos procmail ajetaan
pääkäyttäjän oikeuksilla, procmailia
voidaan käyttää toiminnallisesti kehittyneenä,
taaksepäin yhteensopivana sähköpostin
välittäjäohjelmana.
Procmailia voidaan käyttää myöskin
yleiskäyttöisenä sähköpostin
suodattimena, eli on pyritty huolehtimaan siitä, että se
voidaan käynnistää erityisenä sendmailin
konfiguraatiosääntönä.
Ohjetiedoston muotoa kuvataan yksityiskohtaisesti
procmailrc(5) -manuaalitiedostossa.
Arvotettua pisteytystekniikkaa kuvataan yksityiskohtaisesti
procmailsc(5) -manuaalitiedostossa.
Esimerkkejä ohjetiedoston muodostamiseen voi katsoa
procmailex(5) manuaalisivuilta
- TERMINATE
- Keskeytä toiminta ja ohjaa sähköpostiviesti uudelleen
jonoon.
- HANGUP
- Keskeytä toiminto ja palauta viesti takaisin
lähettäjälle.
- INTERRUPT
- Keskeytä toiminto ja palauta viesti takaisin
lähettäjälle.
- QUIT
- Keskeytä toiminto ja hukkaa viesti
äänettömästi.
- ALARM
- Pidä tauko ajossa (katso TIMEOUT).
- USR1
- Sama kuin VERBOSE=off.
- USR2
- Sama kuin VERBOSE=on.
- -v
- Procmail tulostaa versionumeronsa, näyttää
käännösaikaisen konfiguraationsa ja lopettaa.
- -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
- Aseta procmail epäonnistumaan mahdollisimman pehmeästi, eli
jos procmail ei voi jakaa sähköpostiviestiä
mihinkään antamaasi
määränpäähän, postia ei
palauteta lähettäjälle, vaan palaa
sähköpostijonoon. Seuraava jakeluyritys
tehdään sitten joskus hamassa tulevaisuudessa.
- -f
keneltä
- Panee procmailin muuttamaan alussa olevan `From ' -rivillä olevan
lähettäjänimen nimeksi keneltä (-f:n
sijaan voisi käyttää vaihtoehtoista, mutta
vanhentunutta optiota -r). Jos keneltä muodostuu vain
yksinkertaisesti viivasta `-', procmail päivittää
vain `From '-rivillä olevan aikamerkinnän (jos se
löytyy, muussa tapauksessa se tuottaa uuden).
- -o
- Sen sijaan että sallittaisiin kuka tahansa tuottamaan 'From
'-rivejä, kumoa tekaistut nimet.
- -Y
- Oleta perinteinen Berkeleyn postilaatikkomuoto, jätä
huomiotta kaikki Content-Length: -kentät.
- -a argumentti
- 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 vastaanottaja
...
- Tämä käynnistää eksplisiittisen
jakelutilan, posti välitetään paikalliselle
käyttäjälle vastaanottaja. Tämä
tietenkin on mahdollista vain jos procmaililla on
pääkäyttäjän oikeudet (tai jos
procmailia jo ajetaan vastaanottajan euid:lla ja egid:lla). Procmail
muuttaa uid:tään aiotuille vastaanottajille ja lukee
vain vastaanottajan $HOME/.procmailrc-tiedoston (jos se on
olemassa, muutoin jakelu tapahtuu samoin kuin tavallisen
sähköpostin jakelu). Tämä optio ei sovi yhteen
option -p kanssa.
- -m
- Muuttaa procmailin yleiskäyttöiseksi
sähköpostisuodattimeksi. Tässä tilassa yksi
ohjetiedosto täytyy määrittää
komentorivillä. Ohjetiedoston jälkeen procmail
hyväksyy rajoittamattoman määrän argumentteja.
Jos ohjetiedosto on absoluuttinen polku alkaen hakemistosta
/etc/procmailrcs/ ilman viittauksia takaisinpäin (eli
yläpuolella oleviin hakemistoihin ei voi viitata), procmail muuttaa
käyttäjäid:nsä ohjetiedoston (tai symbolisen
linkin) omistajan uid:ksi. Tämä tapahtuu siis vain, jos
mitään turvallisuusrikkomuuksia ei löydy.
Tämän option käyttöesimerkkejä
löytyy allaolevasta kappaleesta ESIMERKKEJÄ.
Mitä tahansa argumenttia, jossa on '=',
pidetään
ympäristömuuttujamäärittelynä. Ne
kaikki asetetaan sen jälkeen kun oletusarvot on annettu ja
ennen kuin avataan ensimmäinen ohjetiedosto.
Mitkä tahansa muut argumentit oletetaan ohjetiedostojen
poluiksi. (Joko absoluuttisiksi, tai jos ne alkavat merkeillä './',
lähtien nykyisestä hakemistosta, tai muutoin miksikä
tahansa muuksi $HOME:sta lähteväksi hakemistoksi, jollei
optiota -m ole asetettu. Jälkimmäisessä
tapauksessa kaikki suhteelliset polut lähtevät
nykyisestä hakemistosta.) Procmail aloittaa
ensimmäisestä komentoriviltä
löytämästään ohjetiedostosta.
Jälkimmäiset käydään läpi vain jos
jos edellisissä on väärä HOST-direktiivi, tai
siinä tapauksessa että sitä ei ole lainkaan.
Jos yhtäkään ohjetiedostoa ei anneta, ohjelma
etsii tiedostoa $HOME/.procmailrc. Jos
tätäkään ei löydetä,
käsittely jatkuu ympäristömuuttujien oletusasetusten ja
komentorivimääritysten mukaan.
Ohjetiedoston ohjeisiin voi katsoa esimerkkejä
manuaalisivulta procmailex(5). Pieni näyte ohjetiedostoksi
löytyy allaolevasta kappaleesta MERKINNÄT.
Hyppää vapaasti yli loput tästä
ESIMERKKEJÄ-kappaleesta, jollet ole ylläpitäjä,
jolla on jonkin verran tietoa sendmail.cf:n syntaksista.
Optiota -m käytetään yleensä,
kun procmailia kutsutaan sendmailin konfiguraatiotiedostosta sendmail.cf.
Tehdäksesi tämän on kätevää luoda
ylimääräinen 'procmail'
postinvälittäjä sendmail.cf-tiedostossa (jo
siellä mahdollisesti olevan paikallisen procmailin
käynnistävän postinvälittäjän
lisäksi). Luodaksesi tällaisen
postinvälittäjän, käytä esim. seuraavaa
riviä:
Mprocmail, P=/usr/bin/procmail, F=mSDFMhun, S=11, R=21,
A=procmail -m $h $g $u
Tämä mahdollistaa seuraavanlaisten
konfiguraatiosääntöjen käytön
(todennäköisimmin sääntöjoukossa 0)
postin suodatukseen procmailin kautta (huomaa
sääntöä jatkavan rivin alussa oleva
tabulaattori, ja tabulaattori, joka erottaa kommentit):
R$*<@jossain.muualla>$*
$#procmail $@/etc/procmailrcs/jossain.rc $:$1@jossain.muualla.procmail$2
R$*<@$*.procmail>$*
$1<@$2>$3 Jo suodatettu, vie takaisin
Ja /etc/procmailrcs/jossain.rc voisi näyttää
jotenkin seuraavalta:
SENDER = "<$1>" # fix for empty sender addresses SHIFT = 1 # remove
it from $@
:0 # hylkää kaikki roskaposti * ^Subject:.*junk /dev/null
:0 w # ota mukaan kaikki muu posti ! -oi -f "$SENDER" "$@"
Ole tarkkana, kun lähetät postia tiedoston
/etc/procmailrcs/jossain.rc kautta - jos lähetät postia
osoitteisiin, jotka taas sopivat ensimmäiseen
sääntöön, voit vahingossa luoda loppumattoman
postisilmukan.
- /etc/passwd
- to set the recipient's LOGNAME, HOME and USER_SHELL variable defaults
- /var/mail/$LOGNAME
- systeemin postilaatikko; sekä systeemin postilaatikko että
sen sijaintihakemisto luodaan aina kun procmail käynnistyy ja jompi
kumpi näistä ei ole olemassa
- /etc/procmailrc
- ensin läpikäytävä koko systeemin kattava
ohjetiedosto
- /etc/procmailrcs/
- polku ohjetiedostoille, joissa tarvitaan erityisiä
käyttöoikeuksia
- $HOME/.procmailrc
- oletusohjetiedosto
- /var/mail/$LOGNAME.lock
- systeemin postilaatikon lukkotiedosto (procmail ei käytä
tätä automaattisesti, jollei $DEFAULT ole sama kuin
/var/mail/$LOGNAME ja procmail ole
välittämässä postia $DEFAULT:iin)
- /usr/sbin/sendmail
- oletuksena oleva postin forwardoija (eteenpäinviejä)
- _????`isäntäkone`
- procmailin luomia nollapituisia väliaikaistiedostoja (nimet
muodostuvat siten, ettei olemassaolevien tiedostojen päälle
kirjoiteta)
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)
- Autoforwarding
mailbox found
- (Löytyi automaattisesti forwardoiva postilaatikko): Systeemin
postilaatikossa oli asetettu suid- tai sgid-bitti; procmail
keskeyttää ajon signaaliin EX_NOUSER olettaen että
tähän postilaatikkoon ei saa postia
välittää.
- Bad substitution of
"x"
- ("x":n asettaminen ei onnistu): Määritetty
ympäristömuuttujan nimi ei kelpaa.
- Closing brace
unexpected
- (Odottamaton lopettava aaltosulku): Vastaavaa aloittavaa aaltosulkua ei
ollut (sisäkkäinen blokki).
- Conflicting
options
- (Yhteensopimattomia optioita): Kaikki optioyhdistelmät eivät
toimi.
- Conflicting
x suppressed
- (Yhteensopimaton "x" ohitettu): Valinta x ei sovi yhteen jonkin
toisen tässä ohjeessa olevan valinnan kanssa.
- Couldn't create
"x"
- ("x":n luominen epäonnistui): Systeemin postilaatikkoa ei
ollut olemassa eikä sitä voida luoda/tulla luomaan.
- 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"
- ("x":stä ei pystynyt
päättelemään lukkotiedostoa):
Yhtäkään '>>' uudelleenohjausmerkkiä ei
löytynyt, paikallisena lukkotiedostona
käytetään yksinkertaisesti muuttujan '$LOCKEXT'
sisältöä.
- 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"
- (Lukkotiedostoa "x" ei pystytty avaamaan): Lukkotiedosto on jo
tuhottu, tai kirjoitusoikeudet lukkotiedoston
sisältävään hakemistoon on poistettu.
- Deadlock attempted on
"x"
- ("x":ssä ajauduttu umpikujaan): Paikallinen
tässä säännössä
määritetty lukkotiedosto on sama kuin edelleen aktiivinen
$LOCKFILE.
- Denying special
privileges for "x"
- (Erityisoikeudet estetty "x":ltä): Procmail ei
käytä ohjetiedoston käyttäjätunnusta
(uid:tä), sillä se löysi turvallisuusrikkeen (esim.
-p tai komentorivillä tehdyt
muuttujamäärittelyt) tai sillä ei ole tarpeeksi
oikeuksia tehdä niin.
- 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"
- (Asetan tiukempia oikeuksia "x":lle): Vastaanottajan
postilaatikko oli näemmä turvaton, procmail turvasi sen.
- Error while writing to
"x"
- ("x":ään kirjoitettaessa tuli virhe):
Alihakemistoa ei ole, ei kirjoitusoikeuksia, putki katkesi tai levy on
täynnä.
- Exceeded
LINEBUF
- (LINEBUF ylitettiin): Havaittiin puskurin ylivuoto, LINEBUF oli liian
pieni, muistissa saattaa olla vikaa.
- 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"
- The backquoted expression "x" tried to produce too much output
for the current LINEBUF; the rest was discarded and PROCMAIL_OVERFLOW has
been set.
- The action line or other flags on this recipe make x meaningless.
- Failed forking
"x"
- ("x":n haarautuminen epäonnistui): Prosessitaulu on
täynnä (ja NORESRETRY käytetty loppuun).
- Failed to execute
"x"
- ("x":n ajaminen epäonnistui): Ohjelma ei ole polussa, tai
sillä ei ole ajo-oikeuksia.
- Forced unlock denied on
"x"
- ("x":n avaaminen kielletty): Lukkotiedoston "x"
sisältävään hakemistoon ei ole
kirjoitusoikeuksia, tai useampi kuin yksi procmail yrittää
lukita sitä täsmälleen samaan aikaan.
- Forcing lock on
"x"
- ("x":n lukitus pakotetaan): Lukkotiedostoa "x"
ollaan poistamassa yliajan vuoksi (katso myös: LOCKTIMEOUT).
- Incomplete
recipe
- (Epätäydellinen ohje): Ohjeen alku löydettiin, mutta
loppua ei näkynyt ennen EOFia (tiedoston loppumerkkiä).
- Insufficient
privileges
- (Riittämättömät oikeudet): Procmail joko
tarvitsee pääkäyttäjän oikeuksia tai
sillä täytyy olla oikea (e)uid ja (e)gid, jotta sitä
voitaisiin ajaa jakelutilassa. Jakelua yritetään
alkuperäisellä procmailin
käynnistäjällä.
- Invalid regexp
"x"
- (Epäkelpo säännöllinen lauseke "x"):
Säännöllisessä lausekkeessa "x" on
virheitä (todennäköisesti puuttuvia tai liiallisia
sulkumerkkejä).
- Kernel-lock
failed
- (Kernelin lukitus epäonnistui): Kun yritettiin
käyttää kernelin tukemia lukituskutsuja, yksi
niistä epäonnistui (yleensä tämä
viittaa käyttöjärjestelmävirheeseen). Procmail
jättää tämän virheen huomiotta ja
jatkaa.
- Kernel-unlock
failed
- (Kernelin lukituksen avaaminen epäonnistui): Katso yllä.
- Lock failure on
"x"
- (Lukitusvirhe "x":ssä): Tämä voi tapahtua
vain, jos käytät ihan outoja (tai virheellisiä)
lukkotiedostoje nimiä tai jos lukkotiedostoa ei voitu luoda
riittämättömien oikeuksien vuoksi tai koska
määritettyä alihakemistoa ei ollut olemassa.
- Lost "x"
- ("x" katosi): Procmail yritti kloonata itsensä, muttei
enää löytänyt ohjetiedostoa "x" (se
joko oli poistettu tai siihen viitattiin suhteellisella polulla ja muutit
hakemistoa sen jälkeen kun procmail avasi sen viimeksi).
- Missing action
- The current recipe was found to be incomplete.
- Missing closing
brace
- (Sulkeva aaltosulku puuttuu): Sisäkkäinen blokki aloitettiin
aaltosululla, muttei koskaan lopetettu.
- Missing
name
- (Nimi puuttuu): Optio -f tarvitsee lisäargumentin.
- Missing
argument
- (Argumentti puuttuu): Käytit optiota -a, mutta unohdit argumentin.
- Missing
rcfile
- (Ohjetiedosto puuttuu): Käytit optiota -m, joten procmail odottaa
ohjetiedoston nimeä argumenttina.
- Missing
recipient
- (Vastaanottaja puuttuu): Käytit optiota -d tai kutsuit procmailia
toisella nimellä. Tällöin se odottaa yhtä tai
useampaa vastaanottajan määrittävää
argumenttia.
- No space left to finish writing
"x"
- ("x":n kirjoittamisen viimeistelyyn ei ole tilaa):
"x":n sisältävässä
tiedostojärjestelmässä ei ole tarpeeksi vapaata
tilaa, jotta viesti voitaisiin viedä tiedostoon.
- Out of memory
- (Muisti loppui): Järjestelmästä loppui
sivutusmuistitila (ja NORESRETRY on käytetty loppuun).
- Processing
continued
- (Käsittely jatkuu): Komentorivin tuntemattomat optiot
jätettiin huomiotta, procmail jatkaa kuten tavallisesti.
- Program failure (nnn) of
"x"
- (Ohjelmavirhe (nnn) "x":ssä): Procmailin
käynnistämä ohjelma palautti arvon nnn EXIT_SUCCESSin
(=0) asemesta (EXIT_SUCCESS = onnistunut lopetus); jos nnn on
negatiivinen, tämä on signaali, johon ohjelma kuoli.
- Quota exceeded while writing
"x"
- (Käyttäjäkohtainen levykiintiö ylittyi
"x":ää kirjoitettaessa): Vastaanottajan
levykiintiö "x":n
sisältävässä
tiedostojärjestelmässä ei salli viestin siirtoa
tiedostoon.
- Renaming bogus
"x" into "x"
- (Muutan vääränlaisen "x":n nimen
"y":ksi): Systeemin vastaanottajaa varten tarkoittama
postilaatikko huomattiin vääränlaiseksi, procmail
pyrki toimimaan väärennöksiä vältellen.
- Rescue of unfiltered data
succeeded/failed
- (Ei-suodatetun datan pelastaminen onnistui/epäonnistui): Suodatin
antoi epäonnistumisesta kertovan paluuarvon, procmail yritti palata
takaisin alkuperäiseen tekstiin.
- Skipped:
"x"
- (Ohitettu: "x"): Procmail ei voinut tehdä
mitään ohjetiedostossa olevalla "x":llä,
joten se jättää sen huomiotta.
- Suspicious rcfile
"x"
- (Epäilyttävä ohjetiedosto "x"):
Tämän ohjetiedoston omistaja ei ollut vastaanottaja
eikä pääkäyttäjä, tai sitten sen
sisältävä hakemisto oli kaikkien kirjoitettavissa
(ohjetiedostoa ei käytetty).
- Terminating
prematurely whilst waiting for ...
- (Ennenaikainen keskeytys odotettaessa...): Procmail vastaanotti
tapposignaalin odottaessaan...
- Timeout, terminating
"x"
- (Keskeytys, "x" lopetetaan): Ohjelmassa tai suodattimessa
"x" ylitettiin määritetty odotusaika.
- Timeout, was
waiting for "x"
- (Keskeytys, odotin "x":ää): Ohjelmassa,
suodattimessa tai tiedostossa "x" ylitettiin
määritetty odotusaika. Jos se oli ohjelma tai suodatin, se
ei näyttänyt olevan ajossa enää.
- Truncated file to
former size
- (Tiedosto lyhennetty aikaisempaan kokoonsa): Postinjakelu tiedostoon ei
onnistunut, joten tiedosto lyhennettiin aikaisempaan kokoonsa.
- Truncating
"x" and retrying lock
- ("x" lyhennetään ja lukitusta
yritetään uudelleen): "x" ei näytä
olevan kelvollinen tiedostonimi tai tiedosto ei ole tyhjä.
- 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
- (Ei-odotettu EOL (=rivin loppu)): Puuttuvat sulkevat lainausmerkit, tai
EOFia (tiedoston loppumerkkiä) yritetään
välttää.
- Unknown user
"x"
- (Tuntematon käyttäjä "x"):
Määritetyllä vastaanottajalla ei ole vastaavaa
uid:tä (käyttäjän identifioivaa numeroa).
Laajennettu diagnostiikka voidaan asettaa päälle tai
pois määrittämällä muuttuja VERBOSE.
- [pid] aika & päivämäärä
- Procmailin pid (prosessi-identifikaationumero) ja aikamerkintä.
Tuotetaan aina, kun procmail kirjoittaa lokitiedostoon diagnostiikkaa ja
ainakin sekunti on kulunut edellisestä
aikamerkinnästä.
- Acquiring
kernel-lock
- (Kernel-lukitusta ollaan tekemässä): Procmail
yrittää nyt kernel-lukita viimeksi avatun tiedoston
(-kuvauksen).
- Assigning
"x"
- (Asettamassa "x":ää):
Ympäristömuuttujan asetus.
- Assuming identity of
the recipient, VERBOSE=off
- (Oletetaan vastaanottajan identiteetti, VERBOSE=off
(VERBOSE=monisanaisuus)): Kaikki etuoikeudet (jos niitä on)
unohdetaan, asettaa epäsuorasti laajennetun diagnostiikan pois
päältä.
- Bypassed locking
"x"
- (Ohittamassa "x":n lukitusta): Procmaililla ei ollut
pääsyä sähköpostin spool-hakemistoon,
se luotti pelkästään kernelin lukkoihin.
- Executing
"x"
- (Ajamassa "x":ää): Aloittamassa ohjelmaa
"x". Jos se aloitetaan procmailista suoraan (ilman
välissä olevaa shelliä), procmail
näyttää missä kohdin se erotti argumentit
lisäämällä pilkkuja.
- HOST mismatched
"x"
- (ISÄNTÄKONE ei ole sama kuiin "x"):
Tämän isäntäkoneen nimi oli "x",
ISÄNTÄKONE (HOST) näytti joltain muulta.
- Locking
"x"
- (Lukitsemassa "x":ää): Luomassa lukkotiedostoa
"x".
- Linking to
"x"
- (Linkkaamassa "x":ään): Luomassa kovaa
linkkiä hakemistokansioiden välille.
- Match on
"x"
- (Sopii "x":ään): Ehto sopi.
- Matched
"x"
- (Sovitettiin "x"): Asetettiin "x" SOPIMAAN.
- No match on
"x"
- ("x":ään ei löytynyt sopivaa): Ehtoon
sopivaa tietoa ei löytynyt, ohje ohitettiin.
- 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"
- (Ilmoitettiin comsatille: "$LOGNAME@alkukohta:tiedosto"):
Lähetettiin comsatille/biffille (sähköpostin
saapumisesta ilmoittavia ohjelmia) ilmoitus, että postia saapui
käyttäjälle $LOGNAME
- Opening
"x"
- (Avataan "x":ää): Avataan tiedosto "x"
lisäämistä varten.
- Rcfile:
"x"
- (Ohjetiedosto: "x"): Ohjetiedosto muuttui "x":ksi.
- Reiterating
kernel-lock
- (Toistetaan kernel-lukkoa): Montaa lukitusmenetelmää
yritettäessä yksi epäonnistui. Procmail toistaa
niitä kunnes ne kaikki onnistuvat nopeasti
peräjälkeen.
- Score: added newtotal
"x"
- (Pistemäärä: lisättiin uusi kokonaissumma
"x"): Tämä ohje aiheutti
`lisäpisteitä', jotka tuottivat
pistemäärän "x".
- Unlocking
"x"
- (Avaamassa "x":ää): Poistamassa taas
lukkotiedostoa "x".
Olisi hyvä luoda komentojono, joka
käyttää ohjelmaa lockfile(1) ennen kuin antaa
sähköpostishellisi käsitellä
mitään muuta postilaatikkotiedostoa kuin systeemin
postilaatikkoa (jollei tietenkin sähköpostishellisi
käytä samoja lukkotiedostoja (paikallisia tai koko systeemin
kattavia) kuin jotka määritit ohjetiedostossa).
Siinä epätodennäköisessä
tapauksessa, että procmail on ehdottomasti tapettava ennen kuin se
lopettaa ajonsa, yritä ensin käyttää tavallista
kill-komentoa (eli ei kill -9, katso ehdotuksia alaotsikon
Signaalit alta) - muutoin jotkin lukkotiedostot voivat
tuhoutua.
Ole varovainen käyttäessäsi optiota
-t, sillä jos procmail ei toistuneiden yritysten
jälkeenkään pysty jakelemaan postia (esim.
väärän ohjetiedoston vuoksi), systeemin postijono voi
täyttyä. Tämä voisi suututtaa niin paikallista
sähköpostiylläpitäjää kuin
muitakin käyttäjiä.
Tiedosto /etc/procmailrc saatetaan ajaa
pääkäyttäjän oikeuksilla, joten katso
tarkkaan mitä siihen laitat. SHELL on sama kuin
kyseisellä vastaanottajalla, joten jos procmailin on kutsuttava
shelliä, se olisi parasta asettaa ensin joksikin turvalliseksi. Katso
myös : DROPPRIVS.
Pidä mielessäsi, että jos chown(1) on
sallittu hakemiston /etc/procmailrcs/, sisältämille
tiedostoille, niiden omistaja voidaan muuttaa
pääkäyttäjäksi (root) (tai miksikä
tahansa muuksi) niiden edellisten omistajien toimesta. Turvallisinta olisi
varmistaa, että tästä hakemistosta ainoastaan
pääkäyttäjä voi
käynnistää ohjelmia.
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.
Poistettuaan voimatoimin lukkotiedoston procmail odottaa $SUSPEND
sekuntia ennen kuin luo uuden lukkotiedoston, jotta toinen vanhan
lukkotiedoston tuhota päättävä prosessi ei
vahingossa tuhoa juuri luotua lukkoa.
Procmail käyttää
säännöllistä TERMINATE
(keskeytä)-signaalia keskeyttääkseen paossa olevan
suodattimen, mutta se ei tarkista vastaako suodatin tuohon signaaliin, ja se
lähettää signaalin suodattimelle itselleen, ei
tämän aliprosesseille.
Jatkettua Content-Length: -kenttää ei osata
käsitellä oikein.
The embedded newlines in a continued header should be skipped when
matching instead of being treated as a single space as they are now.
Jos postin otsikossa on kenttä Content-Length: ja
optiota -Y ei ole asetettu, procmail poistaa kentästä
ylimääräiset välilyönnit
löytääkseen oikean koon. Procmail ei muuta
kentän leveyttä.
Jos kenttää Content-Length: ei ole olemassa
tai optiota -Y ei ole asetettu ja procmail lisää
posteja tavallisiin postikansioihin, kaikkiin viestin rungossa oleviin
välitystietoilta näyttäviin riveihin
lisätään alkuun '>' (tämä
estää väärennetyt postiotsikot).
Näitä etsitään seuraavalla
säännöllisellä lausekkeella:
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.
Jakelutilassa procmail luo alkuun `From '-rivin, jos sellaista ei
ole olemassa. Jos sellainen jo on, procmail ei koske siihen. Jos procmailia
ei ole kutsuttu millään seuraavista
käyttäjä- tai ryhmä-id:illä : root,
daemon, uucp, mail, x400, network, list, lists or news, mutta sen silti
täytyy tuottaa tai hyväksyä uusi `From '-rivi, se
tuottaa myös lisärivin '>From ' auttaakseen erottamaan
väärennetyt viestit.
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.
Jos /var/mail/$LOGNAME on vääränlainen
postilaatikko (eli se ei kuulu vastaanottajalle, siihen ei voi kirjoittaa
tai se on symbolinen tai kova linkki), procmail yrittää
käynnistyessään muuttaa sen nimen tiedostoksi, joka
alkaa sanalla 'BOGUS.' ja loppuu inode-jonokoodiin. Jos tämä
havaitaan mahdottomaksi, muuttuja ORGMAIL ei saa alkuarvoa ja
siten se estää postinjakelun ilman kunnollista
ohjetiedostoa.
Jos /var/mail/$LOGNAME on jo oikeanlainen postilaatikko, mutta
sillä on heikot oikeusmääritykset, procmail korjaa
asian. Estääksesi procmailin tekemästä
tätä varmista, että u+x-bitti on asetettu.
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-kansioihin jakelu vie hiukan enemmän aikaa kuin jakelu
tavallisiin alihakemistoihin tai kansioihin, sillä procmailin
täytyy etsiä seuraavaa tarjolla olevaa numeroa (sen sijaan
että tiedostonimi olisi heti tiedossa).
Yleiseen virheeseen kaatuessaan procmail palauttaa arvon
EX_CANTCREAT, jollei optiota -t ole määritetty.
Tämän option määrityksen jälkeen se
palauttaisi arvon EX_TEMPFAIL.
Jotta otsikoiden 'egreppaus' olisi johdonmukaisempaa, procmail
yhdistää kaikki otsikoiden jatkorivit (useammalle riville
jakautuvat); mutta vain sisäisesti. Sähköpostin
jakelussa rivinvaihdot näkyvät kuten ennenkin.
Jos procmailia kutsutaan nimellä, joka ei ala `procmail'
(esim. jos se on linkattu toiselle nimelle ja kutsuttu sillä), se
siirtyy jakelutilaan ja olettaa vastaanottajan nimien olevan
komentoriviargumentteina (aivan kuten jos olisi määritetty
-d).
Ilmoitukset comsatille/biffille tehdään
käyttämällä udp:tä. Ne
lähetetään kerran, kun procmail tuottaa tavallisen
merkinnän lokitiedostoon. Ilmoitusviesteillä on seuraava
laajennettu muoto (tai niin lähelle kuin pystyt
pääsemään, kun lopullista jakelua ei suoritettu
tiedostoon)
$LOGNAME@viestin_alkukohta_kansiossa :kansion_absol_polku
Whenever procmail itself opens a file to deliver to, it
consistently uses the following kernel locking strategies :
fcntl(2).
Procmail is NFS-resistant and eight-bit clean.
Kun procmailia kutsutaan -h tai -? optiolla, se
näyttää komentorivin aputekstin ja tiiviin listan
ohjetiedoston ohjeista.
There exists an excellent newbie FAQ about mailfilters (and
procmail in particular); it is maintained by Nancy McGough
<nancym@ii.com> and can be obtained by sending a mail to
mail-server@rtfm.mit.edu with the following in the body:
send usenet/news.answers/mail/filtering-faq
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
Procmail voidaan myös kutsua
jälkikäsittelemään jo täysi systeemin
postilaatikko. Tämä voi olla hyödyllistä, jos et
halua tai voi käyttää tiedostoa $HOME/.forward
(missä tapauksessa seuraava skripti voitaisiin
määräajoin kutsua cron(1) -ohjelmasta tai aina
kun aloitat postinluvun):
#!/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 #varmista että tämä tosiaan on olemassa
DEFAULT=$MAILDIR/mbox #täysin vapaaehtoinen
LOGFILE=$MAILDIR/from #suositeltu
:0:
* ^From.*berg
minulta
:0
* ^Subject:.*Liekitys
/dev/null
Muita esimerkkejä ohjetiedoston ohjeisiin voi etsiä
manuaalisivulta procmailex(5).
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/.
Procmail-paketin mihin tahansa ohjelmaan liittyviä
kysymyksiä varten on olemassa postituslista:
<procmail-users@procmail.org>
for submitting questions/answers.
<procmail-users-request@procmail.org>
for subscription requests.
If you would like to stay informed about new versions and official patches
send a subscription request to
procmail-announce-request@procmail.org
(this is a readonly list).
Tämän käsikirjan suomenkielisen
käännöksen tekivät Tero Heikkilä
<Tero.T.Heikkila@hut.fi>
Tämä käännös on ilmainen
dokumentaatio; katso tekijänoikeusehdot
GNU General
Public License -versiosta 3 tai uudemmasta. Emme ota vastuuta.