+ Konfiguration - Procmail
Viele haben sich bestimmt schon gefragt:
"Wozu brauchen wir Procmail, wenn doch Postfix schon die Mails zustellen kann?"
Die Antwort ist ganz einfach: Mit Procmail haben
wir nun einen mächtigen Filter. Wir können so zum Beispiel ganz leicht
die Mails auf Spam oder auf Viren überprüfen. Vielleicht sollen
bestimmte Mails auch in zwei Mailboxen. Dies lässt sich jetzt ganz einfach
serverseitig filtern.
Zuerst erstellen wir die Datei /etc/procmailrc. In ihr werden wir alles Notwendige definieren.
/etc/procmailrc
LOGFILE="/var/log/procmail"
VERBOSE=off
DELIVERMAIL="/usr/lib/cyrus/deliver"
DAEMON="MAILER-DAEMON@mail.postfix-howto.de"
SENDMAIL="/usr/sbin/sendmail -i -f \
MAILER-DAEMON\@mail.postfix-howto.de -t $SENDER"
# Mailbox-Zustellung
INBOX="$DELIVERMAIL -f $SENDER -a $USER $USER"
# Grundsaetzlich pruefen!
CHECK = 1
# Check
:0
* $CHECK ?? 1
{
:0fw
* < 110000
| /usr/bin/spamc -u filter
# Wann soll die Mail noch durch den Virenscanner?
:0
* ^X-Spam-Status: No .*$
{
:0fw
* > 8000
| /usr/bin/clamassassin
}
}
# Viren bitte ab in die Tonne
:0w
* ^X-Virus-Status: Yes
/dev/null
:0 e
{
EXITCODE=$?
:0 w
* EXITCODE ?? [75]
{
REC=`formail -zx"To:"`
EXITCODE=0
:0
* ^X-Loop: bounce@postfix-howto.de
/dev/null
:0
| formail -rk -I"Subject: Mail delivery \
failed for user: $USER (MailAdr: $REC)" \
-A"FROM: $DAEMON" -A"Precedence: junk" \
-A"X-Loop: bounce@postfix-howto.de" | $SENDMAIL
}
}
# an INBOX zustellen
:0w
| $INBOX
HOST
Erklärung:
LOGFILE="/var/log/procmail", gibt die LOG Datei an.
VERBOSE=off, schaltet Debug Informationen an oder aus.
DELIVERMAIL="/usr/lib/cyrus/deliver". Das ist der Befehl für
die Mailbox Zustellung
DAEMON="MAILER-DAEMON@mail.postfix-howto.de", die E-Mail Adresse des
mailer daemon. Bitte hier auf eure Domain setzen.
SENDMAIL="/usr/sbin/sendmail -i -f MAILER-DAEMON\@mail.postfix-howto.de
-t $SENDER", gibt den sendmail Befehl für denn mailer daemon an.
INBOX="$DELIVERMAIL -f $SENDER -a $USER $USER", gibt den
Mailbox Befehl an.
Damit Postfix die Mails nun richtig an Procmail ausliefert, ändern wir den Procmail Eintrag in der /etc/postfix/master.cf wie folgt um:
Procmail eintrag in: /etc/postfix/master.cf
flags=R user=cyrus argv=/usr/bin/procmail -o SENDER=${sender}
-m USER=${user} EXTENSION=${extension} /etc/procmailrc
Bitte drauf achten, dass bei euch in der zweiten Zeile KEIN Umbruch ist.
Damit weisen wir nun Postfix an, die Mails an Procmail weiterzugeben und die nötigen Optionen für den Cyrus-Deliver.
Jetzt haben wir auch Procmail fertig konfiguriert.