Die folgende Datei kann als Grundlage für eine eigene procmailrc dienen.
################################################################################
### unvollstaendige Liste von Filtertypen
### siehe "man procmailrc" fuer die vollstaendige Liste von Filtertypen
# :0 # Abbruch wenn filter zutrifft
# :0c # ... immer weiter machen, auch wenn Filter zutrifft
# :0H # nur Header pruefen
# :0h # nur Header zur weiteren Pruefung weiterleiten
# :0B # nur Message Body pruefen
# :0b # nur Message Body zur weiteren Pruefung weiterleiten
# :0D # Gross-/Kleinschreibung beachten
################################################################################
###---------->General Setup<----------
SHELL = /bin/sh
PATH =$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
### Das Verzeichnis ($HOME/Mail/) muss existieren!
### hier werden die unten in den Regeln definierten Verzeichnisse angelegt
MAILDIR = $HOME/Mail/
### hier werden die Mails auch nochmal komplett reingeschrieben
#DEFAULT=$MAILDIR/mbox
LOGFILE = $HOME/procmail.log
LOCKFILE=$HOME/.lockmail
###----------> maildirs <---------
### Folgendes wird von Procmail ausgefuehrt:
### Die Verzeichnisse "mail/cur/", "mail/new/", "mail/tmp/"
### wird angelegt, wenn es noch nicht existiert,
### dann wird jede einzelne E-Mail
### in eine separate Datei geschrieben.
###
### $MAILDIR/mail/new/
### "1060434162.57559_0.mail.domain.de", "1060434163.57563_0.mail.domain.de", ...
#:0c
#mail/
###----------> E-Mails in separate Dateien <---------
### Das Verzeichnis "mail/"
### muss schon existieren, dann wird jede
### einzelne E-Mail in eine separate
### Datei geschrieben.
###
### $MAILDIR/mail/
### "msg.Cvi", "msg.Dvi", ...
#:0c
#mail
###----------> "MH"-Format <---------
### Das Verzeichnis wird angelegt,
### wenn es noch nicht existiert.
### Die E-Mails werden im "MH"-Format geschrieben
### das bedeutet, jede einzelne E-Mail wird in
### eine separate Datei geschrieben und die
### Namen der Dateien sind fortlaufend
### nummeriert.
###
### $MAILDIR/20030809/
### "1", "2", "3", ...
#:0c
#`date +%Y%m%d`/.
###----------> Multi-part messages <---------
###
### Content-Type: multipart/mixed; boundary=ELM965173874-25050-0_
### Content-Type: multipart/mixed; boundary="------------BA45271FBDAA479CECA7E20A"
###
### Write a recipe that inserts into a variable (call it BOUND) the boundary string.
### Note that the potential quotes (") are not to be part of that string.
### Also note that the header might be divided on multiple lines as in
###
### Content-Type: multipart/mixed;
### boundary=ELM965173874-25050-0_
###
### There are alternative solutions, which not necessarily are quite equivalent.
### The first one is putting high up in your ~/.procmailrc recipe file the line(s)
###
### BOUND1=`formail -z -x"Content-Type:" | awk -F= '{ print $2 }' | sed -e 's/\"//g' | tr -d '\n'`
###
### A second one is:
###
### :0h
### * ^Content-Type:
### { BOUND2=`egrep -i 'boundary=' | awk -F= '{ print $2 }' | sed -e 's/\"//g'` }
###
### This was not in the exercise, but you can then have recipes like
###
### :0:
### * ! BOUND2 ?? ^^^^
### WhateverFolder
###
################################################################################
###----------> Zeichenerkennung in der zweiten Zeile <---------
### Write a recipe to detect a "whatever pattern" on exactly the second line of the body of an incoming message.
### Ignore case in the pattern.
###
### :0B:
### * ? sed -n 2p | egrep -is 'whatever pattern'
### WhateverPatternMail
### Wenn die Filterzeilen "*^From" weckgelassen werden,
### dann werden die Mails auch in die System-Mailbox
### eingetragen.
### ganze Mail
:0c
*^From
testmaildir-complete/.
### Mail-Kopf
:0ch
*^From
testmaildir-head/.
### Mail-Body
:0cb
*^From
testmaildir-body/.
### E-Mails mit binaerem (nicht lesbarem) Anhang werden hier verarbeitet
:0
*^From
* ^Content-Type: multipart/
{
:0 B
* ^Content-.*base64
{
:0
{ RULE="Email mit binaerem Anhang" }
:0:
testmaildir-base64/.
}
}