Dalšie procmail HOWTO

Všeobecné

Základná syntax

Príklad jednej podmienky

:0 [príznaky] [: [lock-file] ]
podmienky
akcia
  • Príznaky
    • c - copy - Po vykonaní akcie pokračuje dalej v spracovávaní. Spracovanie mailu nekončí na tomto riadku.
    • b - body - Bude pracovať len s telom mailu (hlavičku nepoužije).
    • a iné…
  • Lock-file
    • Ak je v prvom riadku :0: znamená to, že sa použije lock-file1). Ak je uvedené meno súboru, použije sa daný súbor ako lock-file.
  • Podmienky
    • Sú to regulárne výrazy aplikované na riadky hlavičky mailu.
    • Na každý riadok prislúcha práve jedna podmienka. Viac podmienok sa musí písať pod seba.
    • Aby sa spustila akcia, musia byť splnené všetky podmienky.
    • Nemusí byť zadaná žiadna podmienka.
  • Akcia
    • Co sa stane ak sú podmienky splnené
      • Ak je uvedený len názov priečinku, mail sa nahrá do daného priečinku.
      • | program - hodí daný mail na vstup programu program
      • ! mailova@adresa - forwardne daný mail na adresu mailova@adresa

Nastavenie premenných

Príklad .procmailrc:

PATH=/usr/bin:/usr/local/bin
MAILDIR=$HOME/.mailspool   # all mailboxes are in .mailspool/
DEFAULT=$HOME/.mailspool/mojemeno
LOGFILE=/dev/null
SHELL=/bin/sh

Príklady

Všetky maily odoslané z adresy moja@adresa.sk uloží do priečinka mojemaily

:0:
* ^To: moja@adresa.sk
mojemaily

Všetky maily odoslané z akejkoľvek adresy servra adresa.sk uloží do priečinka mojemaily

:0:
* ^To:.*adresa.sk
mojemaily

Všetky maily určené pre alebo poslané z adresy <hocičo>@ynet.sk uloží do priečinka Ynet

:0:
* ^(From|Cc|To).*@ynet.sk
Ynet

Všetky maily v ktorých adresa odosielateľa obsahuje ynet a predmet obsahuje joke alebo funny presmeruje na sem@preposli.sk

:0
* ^From.*ynet
* ^Subject:.*(joke|funny)
! sem@preposli.sk

Všetky maily v ktorých adresa odosielateľa obsahuje ynet a predmet obsahuje joke alebo funny presmeruje na sem@preposli.sk a predá na vstup programu program.

:0:
* ^From.*ynet
* ^Subject:.*(joke|funny)
{
  :0 c
  ! sem@preposli.sk

  :0
  | program
}
  • Blok ohraničený zátvorkami { a } znamená to isté čo v céčku (postupne sa spustia všetky príkazy v ňom). Takže sa mail aj forwardne aj pošle na vstup programu.
  • “c” na konci prvého riadku v bloku znamená copy, čiže mail forwardne na adresu sem@to-preposli.sk ale pokračuje dalej v spracovávaní

Všetky maily zadresy <hocičo>@ynet.sk predá na vstup programu gzip, ktorý ich zazipuje a zazipované pridá do súboru archive.gz. Kedže je použitý aj príznak “c”, mail tu neskončí a bude pokračovať k dalším pravidlám.

:0 bc:
* ^To:.*@ynet.sk
| gzip >> archive.gz
  • “b” znamená, že bude pracovať len s telom mailu. Hlavičku tomu programu nepošle.

Pomocou programu /usr/sbin/vacation pošle automatickú odpoved na mail a pokračuje v dalšom spracovaní.

:0 Wc: vacation.lock
|/usr/sbin/vacation mojemeno

Spamassassin

Všetky maily menšie ako 256000 bytov poslat na vstup spamassassinu.

:0fw
* < 256000
| /usr/local/bin/spamassassin

Ak mail obsahuje hlavičku X-Spam-Status: Yes, pošle ho do /dev/null.

:0:
* ^X-Spam-Status: Yes
/dev/null

Dašie zdroje

man

man procmail The basic description of the program. It discusses options to the procmail program, and has a couple examples at the end.
man procmailrc Detailed description of the format of the .procmailrc file, which controls all the filtering.
man procmailex Several working examples of .procmailrc entries. A very useful resource.
man procmailsc Discusses weight-scoring, a technique for very expert-level filtering.
1) ak nevieš načo to je, používaj to stále
 
procmail.txt · Last modified: 31.03.2010 17:51 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki