Procmail
A Procmail egy elektronikus levelek szűrésére való program. Hasznos nagy mennyiségű beérkező e-mail feldolgozására és szétválogatására. Használhatjuk levelezési listák leveleinek szétválogatására, automatikus válasz létrehozására, akár levelezési lista működtetésére is.
Tartalomjegyzék |
Procmail használata
Első lépések
A Procmail-t egy .procmailrc nevű, a home könyvtáradban levő fálj vezérli. Nagyon fontos, hogy Unixos újsor karakterek legyenek a fájlban! Ezért használjunk Unixos szerkesztőt. NE szerkesszük a fájlt Windows alatt!
Megjegyzés:
A Unixban a ponttal kezdődő fájnevek rejtett fájlokat jelölnek. Az ls parancs nem listázza alapból ki őket, csak ha megadjuk neki a -a opciót: ls -a
Példa .procmailrc:
- % .procmailrc
- % a bejövő leveleket szétválogatjuk mappákba
- MAILDIR=$HOME/mail % a mappák a ~/mail könyvtárban vannak
- LOGFILE=$HOME/procmail_log % a feldolgozás naplózása ebbe a fájlba történik
- % Vigyázat! A logfile nagyra nőhet, ha sosem töröljük!
- A %-val kezdődő sorok megjegyzéseket jelölnek, a Procmail nem veszi őket figyelembe
- A .procmailrc-nek két része van: a beállítások és a receptek. A beállítások részben néhány változót állítunk be, azért, hogy a Procmail tudja, hogy hol vannak a leveles mappáink. A receptek megmondják a szűrési feltételeket.
Beállítások
Ez a rész megmondja a Procmailnek, hogy hol találja a leveles mappákat, és a programokat, amiket esetleg le kell futtatnia. Csak a legfontosabb beállításokat ismertetem, a többi megtalálható a procmailrc manualban.
PATH=/bin:/usr/bin:/usr/local/bin
Ez a beállítás megmondja a Procmailnek, hogy hol keresse a lefuttatandó programokat. Sokszor nincs rá szükség.
MAILDIR=$HOME/mail # a mappák a ~/mail könyvtárban vannak
A MAILDIR könytárban vannak a mappáink. A $HOME a home könyvtárunkat jelöli. A Pine levelezőprogram alapbeállításban ebbe a könyvtárba teszi a leveleket.
DEFAULT=/var/mail/$LOGNAME
A DEFAULT a bejövő e-mailek alapbeállítás szerinti helye. Az Ural2-n nincs szükség beállítani, alapértelmezés szerint /var/mail/felhasználónév.
LOGFILE=$HOME/procmail_log # a feldolgozás naplózása ebbe a fájlba történik
Ez megmondja, hogy a Procmail működéséről hova kerüljön a log. Ha nem kívánunk értesülni róla, adjunk neki /dev/null értéket, vagy hagyjuk el ezt a beállítást. Ne feledjük el, hogy a logfájl mérete nagyon nagyra nőhet, ha sosem töröljük.
SHELL=/usr/local/bin/bash
Ez megmondja azt a shellt, amit a Procmailnek használnia kell a programok elindítására. Nem kötelező megadni, ha nem adjuk meg, ugyanazt használja, mint ami a flhasználó default shellje.
Hogyan indíthatjuk el a procmail programot?
Az Ural2-n fel van telepítve a Procmail, de alapértelmezett levélfeldolgozóként nincs beállítva. Ezért létre kell hoznod egy .forward nevű fájlt (a . fontos a fájlnév elején!) a home könyvtáradban, a következő tartalommal:
"|IFS=' '&&p=/usr/local/bin/procmail&&test -f $p&&exec $p -Yf-||exit 75 #ab123"
Az idézőjelek is kellenek a fájlba! A # után a saját login nevedet kell írnod. Ezt a fájlt a legegyszerűbben úgy hozhatod létre, ha az előző sort egy editorral (pico, joe, vi, emacs, stb.) beleírod.
Miután létrehoztuk a .forward és a .procmailrc fájlokat, a következő parancsokkal állíthatjuk be a jogosultságaikat:
chmod 600 ~/.forward chmod 600 ~/.procmailrc
Segítség
man:
procmail
- Az alap leírása a programnak. Tartalmazza a Procmail opcióit, és van pár példa a végén.
procmailrc
- A részletes leírása a .procmailrc formátumának.
procmailex
- Számos működő példa a .procmailrc-re. Nagyon hasznos.
procmailsc
- A súlyozással való levélszűréssel foglalkozik.