Hlavní navigace

Procmail pre začiatočníkov

26. 10. 2001
Doba čtení: 3 minuty

Sdílet

Ako čo najjednoduchšie vyriešiť problém presmerovania pošty, ako na automatické triedenie emailov do poštových priečinkov, predávanie obsahu emailu užívateľskému skriptu atd.

Mnohí linuxoví začiatočníci sa pri spravovaní poštového serveru stretli s problémom, ako čo najjednoduchšie vyriešiť problém presmerovania pošty na základe stále sa meniacich požiadaviek užívateľov bez toho, aby museli neustále prepisovať záznamy v /etc/aliases, ktorý sa pri veľkom objeme postupne stáva neprehľadným a navyše neumožňuje triedenie pošty pre jednotlivé kontá podľa nejakých podmienok. Ďalšou otázkou je automatické triedenie emailov do poštových priečinkov podľa pravidiel na strane servera, bez toho, aby to musel robiť na diaľku emailový IMAP klient, ktorý sa pri zväčšujúcich poštových priečinkoch stáva pomalším a pomalším, alebo predávanie obsahu emailu užívateľskému skriptu, ktorý môže automatizovať niektoré procesy napríklad pri zaslaní SMS správy z mobilného telefónu na email.

Tieto problémy je možné jednoduchým spôsobom riešiť pomocou procmailu. Ukážeme si, ako je možné tieto požiadavky riešiť.

Princíp je jednoduchý. Po prijatí každého emailu sa spúšťa program procmail, ktorý je zodpovedný za umiestnenie emailovej správy do boxu. Ak však nájde v domovskom adresári užívateľa súbor .procmailrc, bude sa riadiť pravidlami pre doručovanie a umožní nám emailové správy triediť, presmerovať na iné emailové adresy, alebo ich priradiť ako vstup pre užívateľské skripty.

Takže, ukážeme si na jednoduchých príkladoch jednotlivé činnosti presmerovania a triedenia a v budúcej časti si ukážeme, ako sa tieto pravidlá vytvárajú a aké možnosti nám procmail ponúka.

1. Presmerovanie všetkých emailov na inú emailovú adresu

Vytvoríme si v domovskom adresári súbor .procmailrc s nasledovným obsahom:

    :O H:
    * ^To:.*email@domena.cz
    ! inyemail@inadomena.cz

Tento zápis, ktorý na prvý pohľad vyzerá neprehľadne a zložito, je vlastne pravidlom pre doručenie správy.

Pravidlo určuje, že ak sa po prehľadaní hlavičky bude v poli adresáta nachádzať naša adresa, čo je vlastne logické, sa táto správa odošle na iné emailové konto. Jedná sa vlastne o klasické presmerovanie, ako sme doteraz robili v /etc/aliases. Ak by sme však chceli, aby kópia emailu ostala v našom poštovom priečinku, využijeme nasledovné pravidlo.

2. Odosielanie kópie emailov na ďalšiu emailovú adresu

    :O Hc:
    * ^To:.*email@domena.cz
    ! inyemail@inadomena.cz

Toto pravidlo je v podstate zhodné s predchádzajúcim avšak s tým rozdielom, že správa po doručení na špecifikovanú emailovú adresu bude doručená aj do nášho poštového priečinka.

3. Presmerovanie emailov podľa predmetu na inú emailovú adresu

    :O H:
    * ^Subject: .*alert
    ! cislo@sms.eurotel.cz

Toto pravidlo sleduje výskyt reťazca v predmete správy. Ak sa teda v poli predmetu bude nachádzať reťazec alert, správa bude presmerovaná na mobilný telefón správcu prostredníctvom rozhrania email to sms operátora.

4. Triedenie emailov podľa predmetu do folderov

    :O H:
    * ^Subject: .*arpwatch
    ~/arpwatch

Ak na čítanie pošty používame IMAP klienta, je vhodné došlé správy triediť do poštových priečinkov už na strane servera. V tomto príklade, ak sa v poli predmetu bude nachádzať slovo arpwatch, bude správa uložená do priečinka arpwatch.

5. Triedenie emailov podľa obsahu do folderov

    :O B:
    * školen
    ~/skolenia

Niekedy môže byť vhodným triediť do priečinkov poštu aj podľa obsahu správy. Ak si teda vieme definovať reťazec, podľa ktorého by bolo užitočné pre nás poštu roztriediť. V tomto prípade sa všetky emailové správy obsahujúce v texte reťazec školen umiestnia do poštového priečinka s názvom skolenia.

Cloud23

Do konfiguračného súboru pre procmail je možné definovať aj viacero pravidiel, nie iba jedno. Pravidlá je možné vnorovať a vytvárať tak zložitejšie štruktúry. Ale podrobnejšie sa budeme tvorbe pravidiel venovať v ďalšej časti. Dnes sme si na jednoduchých príkladoch ukázali, ako je možné tieto služby využiť jednoducho a rýchlo. Na zoznámenie sme si ukázali najčastejšie príklady použitia v praxi.

Takže hor sa do zoznamovania s procmailom.