Provided by: manpages-fi_4.21.0-2_all 

NIMI
procmail - automaattinen sähköpostin käsittelijä
YLEISKATSAUS
procmail [-ptoY] [-f keneltä]
[parameter=arvo | ohjetiedosto] ...
procmail [-toY] [-f keneltä] [-a argumentti] ...
-d vastaanottaja ...
procmail [-ptY] -m [parametri=arvo] ... ohjetiedosto
[argumentti] ...
procmail -v
KUVAUS
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
Signaalit
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.
VALITSIMET
-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Ä.
ARGUMENTIT
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.
ESIMERKKEJÄ
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.
TIEDOSTOT
/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)
KATSO MYÖS
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)
VIRHEILMOITUSTEN TULKINTA
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.
Extraneous x ignored 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
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".
VAROITUKSET
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.
BUGIT
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.
SEKALAISTA
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:
`\nFrom '
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.
HUOMAUTUKSET
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
Esimerkki pienestä $HOME/.procmailrc-tiedostosta:
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).
SOURCE
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/.
MAILINGLIST
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).
TEKIJÄT
Stephen R. van den Berg
<srb@cuci.nl>
KÄÄNNÖS
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.
BuGless PROCMAIL(1)