Erinevus lehekülje "Procmail" redaktsioonide vahel

Allikas: Kuutõrvaja
(Procmail)
3. rida: 3. rida:
 
===Procmail===
 
===Procmail===
  
Procmaili kasutatakse postimasinasse tulnud kirjade kasutajate vahel laiali jaotamiseks. Näiteks vaikimisi lisatakse kasutajale priit saabunud e-post juurde faili /var/spool/mail/priit, millele vastab Pine'i kirjakast INBOX.  
+
Procmaili kasutatakse postimasinasse tulnud kirjade kasutajate vahel laialijaotamiseks. Näiteks vaikimisi lisatakse kasutajale priit saabunud e-post juurde faili /var/spool/mail/priit, millele vastab Pine'i kirjakast INBOX.  
  
 
Kasutajal on võimalik häälestada Procmail nii, et talle saabunud e-post salvestatakse teatud tunnuste alusel kasutaja postikataloogi erinevatesse failidesse. Postikataloogi faile käsitleb Pine kirjakastidena. Lisaks on võimalik käivitada konfiguratsioonis näidatud tingimustel programme, näiteks selleks, et saabunud oluline post edasi saata mobiiltelefonile teatena.  
 
Kasutajal on võimalik häälestada Procmail nii, et talle saabunud e-post salvestatakse teatud tunnuste alusel kasutaja postikataloogi erinevatesse failidesse. Postikataloogi faile käsitleb Pine kirjakastidena. Lisaks on võimalik käivitada konfiguratsioonis näidatud tingimustel programme, näiteks selleks, et saabunud oluline post edasi saata mobiiltelefonile teatena.  
  
Kui kasutatavas süsteemis Procmail ei ole kohalik meiler, siis saab kasutaja seda enda jaoks käivitada kirjutades faili ~/.forward näiteks rea   
+
Kui kasutatavas süsteemis Procmail ei ole kohalik meiler, siis saab kasutaja seda enda jaoks käivitada, kirjutades faili ~/.forward näiteks rea   
 
  | exec /usr/local/bin/procmail
 
  | exec /usr/local/bin/procmail
+
 
 
===Kasutaja Procmaili konfiguratsioonifail===
 
===Kasutaja Procmaili konfiguratsioonifail===
  

Redaktsioon: 17. jaanuar 2007, kell 17:47


Procmail

Procmaili kasutatakse postimasinasse tulnud kirjade kasutajate vahel laialijaotamiseks. Näiteks vaikimisi lisatakse kasutajale priit saabunud e-post juurde faili /var/spool/mail/priit, millele vastab Pine'i kirjakast INBOX.

Kasutajal on võimalik häälestada Procmail nii, et talle saabunud e-post salvestatakse teatud tunnuste alusel kasutaja postikataloogi erinevatesse failidesse. Postikataloogi faile käsitleb Pine kirjakastidena. Lisaks on võimalik käivitada konfiguratsioonis näidatud tingimustel programme, näiteks selleks, et saabunud oluline post edasi saata mobiiltelefonile teatena.

Kui kasutatavas süsteemis Procmail ei ole kohalik meiler, siis saab kasutaja seda enda jaoks käivitada, kirjutades faili ~/.forward näiteks rea

| exec /usr/local/bin/procmail

Kasutaja Procmaili konfiguratsioonifail

Konfiguratsioonifailis ~/.procmailrc on kirjas reeglid, mille järgi saabuva e-postiga tegeldakse. Reegleid kirjutatakse järgmise süntaksi alusel

0: [ võtmed ]
* tingimus
käsu rida

Tingumus esitatakse regulaaravaldisena, milles saab kasutada laiendatud metasümbolite hulka.

Toome näiteks ühe reegli ja selgitame

:0 HB
* Z|zoo
ZOO

Reegli algust märgib :0, mille järele kirjutatakse võtmed. Tingimust alustab tärn, millele järgneb regulaaravaldis. 'Z|zoo' tähendab, et reegel rakendub neile kirjadele, mille sisus (B) või päises (H) leidub regulaaravaldisega klappiv rida. Antud juhul klapivad stringe 'Zoo' või 'zoo' sisaldavad read. Käsu reale kirjutatud stringi tõlgendatakse faili nimena, kuhu kiri salvestatakse. Antud juhul faili ZOO.

Konfiguratsioonifailis võib esitada mitmeid reegleid, mida kontrollitakse järgemisi. Tegutsetakse vastavalt esimesele sobivale, ignoreerides järgnevaid. Konfiguratsioonifaili alguses saab defineerida mõned spetsiifilised keskkonnamuutujad:

MAILDIR=$HOME/mail
DEFAULT=$MAILDIR/allumatud
LOGFILE=$MAILDIR/logi
MAILDIR - kasutaja postikataloog 
DEFAULT - fail, kuhu salvestakse kirjad, millele ühtegi reeglit ei rakendunud 
LOGFILE - veateated Procmaililt või programmidelt, mille Procmail käivitas 

Kirjade jagamine failidesse

Esitame ühe tervikliku näite, kuidas sorteerida saabunud kirju. Failidesse paigutamine toimub Subjecti ja Senderi rea alusel. Kirjad, millele reeglid ei rakendu, salvestatakse faili allumatud ja logi faili logi. Vaikimisi kasutavad reeglid kirja päist.

MAILDIR=$HOME/mail
DEFAULT=$MAILDIR/allumatud
LOGFILE=$MAILDIR/logi

:0
* ^Subject.*\[ZOO
ZOO

:0
* ^Subject.*\[linux\]
LINUX

:0
* ^Sender.*owner-zoo-chat
ZOO-CHAT

Programmi käivitamine

Reegli käsu real saab näidata toru järel üksteisest semikooloniga eraldatud programmide nimed, mis tuleb käivitada reegli rakendumisel. Esimese programmi sisendisse suunatakse kõnealune e-kiri. Näiteks selline reegel riputab presidendilt tulnud e-kirja veebi üles

:0
* ^From.*president
| sed -e '$r /home/priit/algus' -e '1,/^$/d' -e '$r /home/imre/lopp' > \
~/public_html/presidendilt.html; chmod 755 ~/public_html/presidendilt.html

Failides algus ja lopp sisalduvad vastavalt HTML dokumendi alguses ja lõpus olema peavad käsud. Kaalutud kirjade jaotamine

Procmail võimaldab anda kirjale punkte vastavalt sellele, mis kirjas sisaldub. Kui punktide summa ehk skoor on positiivne, siis rakendatakse reeglit.

Punkte antakse geomeetrilise jada n esimese liikme summa valemi alusel

                         n
          n   k-1        x - 1
S  = w * Sum x    = w * -------
 n       k=1             x - 1

Näiteks kolme esimese liikme summa

S  = w + w * x + w * x * x
 3

Kusjuures kogu jada summa arvutatakse sellise valemi järgi

       w
S = -------
     1 - x

w - jada esimene liige x - jada tegur

Kogu jada summa on vajalik maksimaalse võimaliku punktide arvu leidmiseks, mida üks kaalurida saab anda, kui tegur on väiksem ühest.

Näiteks sellise reegli puhul (esimese rea -1000 on w ja 0 on x)

:0 B
* -1000^0
*   100^1     N|normaalne
*   600^0.75  I|ilus
*  1000^0.5   V|vapustav
*  -800^2     P|paha
HeadUudised

saab selline kiri

Tere Priit, 

Kas pingviini ikka läheb? Meil on siin Rica's
suht normaalne ilm. Ilus isegi.
Jõuan koormaga piirile täna õhtul, ilus?
Vapustavalt hästi on läinud seni.

Mart

punkte selliselt Algul saab kätte esimese rea eest -1 000 kuna tühi regulaaravaldis klapib kõigega. Kuna tegur on 0, siis see rida rida rohkem punkte skoori ei lisa. Iga "normaalne" annab 100 punkti. Esimene "ilus" lisab skoori 600 punkti, teine 600 x 0.75, kolmas lisaks 600 x 0.75 x 0.75 jne. Siiski, see rida ei saa lisada üle 2 400 punkti. Meie puhul lisab ta 1 000 punkti. "vapustav" lisab 1 000 punkti. "paha" ei lisa midagi.

Kiri salvestatakse faili HeadUudised, kuna ta sai punkte kokku 1 100.

skoor = -1000 + 100 + 600 + 600 * 0.75 + 1000 = 1100


Kasulikud lisamaterjalid

Procmaili veebikoht
Regulaaravaldised 

© EENet 2000