Procmail: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:


Procmail ist ein mächtiger Filter, der für viele komplexe Aufgaben verwendet werden kann. So sind z.B. variable Weiterleitungen und das einbinden eines Spamfilters machbar. Mehr dazu unter www.procmail.org und auf dem Server in den Manpages zu procmail, procmailrc und procmailex.
Procmail ist ein mächtiger Filter, der für viele komplexe Aufgaben verwendet werden kann. So sind z.B. variable Weiterleitungen und das einbinden eines Spamfilters machbar. Mehr dazu unter www.procmail.org und auf dem Server in den Manpages zu procmail, procmailrc und procmailex.


=== Eingehende Emails an Procmail weiterleiten ===
== Eingehende Emails an Procmail weiterleiten ==


Zur Nutzung von procmail wird im Homedirectory des Users eine Datei .forward angelegt, die nur aus einer Zeile besteht:
Zur Nutzung von procmail wird im Homedirectory des Users eine Datei .forward angelegt, die nur aus einer Zeile besteht:
Zeile 10: Zeile 9:


Damit werden alle Mails an das Programm procmail übergeben und die Auslieferung kann nun über die Datei ~/.procmailrc konfiguriert werden.
Damit werden alle Mails an das Programm procmail übergeben und die Auslieferung kann nun über die Datei ~/.procmailrc konfiguriert werden.
=== Procmail konfigurieren ===


Das nachfolgende Beispiel zeigt wie ein [[Spamfilter]] eingebunden werden kann, und Emails automatisch in IMAP-Folder (Verzeichnisse) einsortiert werden können. Die Verzeichnisse sollten vorher angelegt worden sein, falls sie noch nicht existieren z.B. mit den Befehlen:
Das nachfolgende Beispiel zeigt wie ein [[Spamfilter]] eingebunden werden kann, und Emails automatisch in IMAP-Folder (Verzeichnisse) einsortiert werden können. Die Verzeichnisse sollten vorher angelegt worden sein, falls sie noch nicht existieren z.B. mit den Befehlen:
Zeile 71: Zeile 72:




=== Links zu weiteren Procmail Beispielen und Tipps===
== Links zu weiteren Procmail Beispielen und Tipps==


http://pm-doc.sourceforge.net/pm-tips.html
http://pm-doc.sourceforge.net/pm-tips.html

Version vom 29. August 2009, 07:41 Uhr

Procmail ist ein mächtiger Filter, der für viele komplexe Aufgaben verwendet werden kann. So sind z.B. variable Weiterleitungen und das einbinden eines Spamfilters machbar. Mehr dazu unter www.procmail.org und auf dem Server in den Manpages zu procmail, procmailrc und procmailex.

Eingehende Emails an Procmail weiterleiten

Zur Nutzung von procmail wird im Homedirectory des Users eine Datei .forward angelegt, die nur aus einer Zeile besteht:

"|/usr/bin/procmail"

Damit werden alle Mails an das Programm procmail übergeben und die Auslieferung kann nun über die Datei ~/.procmailrc konfiguriert werden.

Procmail konfigurieren

Das nachfolgende Beispiel zeigt wie ein Spamfilter eingebunden werden kann, und Emails automatisch in IMAP-Folder (Verzeichnisse) einsortiert werden können. Die Verzeichnisse sollten vorher angelegt worden sein, falls sie noch nicht existieren z.B. mit den Befehlen:

maildirmake Maildir
maildirmake -f Trash Maildir
maildirmake -f Spam Maildir
maildirmake -f Hostsharing Maildir

Alternativ können die Verzeichnisse auch über die Webmail-Oberfläche anlgelegt werden. Es ist übrigens korrekt, dass die Folder beim Anlegen ohne einen führenden Punkt im Namen erstellt werden, in der .procmailrc aber mit Punkt angegeben werden.

Eine beispielhafte .procmailrc:

## Logging abstellen
COMSAT=no
LOGABSTRACT=no
VERBOSE=no
LOGFILE=procmail.log

## Spamassassin für alle Mails aufrufen...
# Hier wird der systemweite Spamassassin-Daemon benutzt.
:0fw
| /usr/bin/spamc -U /var/run/spamd
## ...und Spam in den Spam Folder aussortieren
:0
* ^X-Spam-Flag: YES
Maildir/.Spam/

## Bsp. Mailinglisten von Hostsharing in eine extra Box
#:0
#* ^TO_(support|technik|website)@hostsharing\.net
#Maildir/.Hostsharing/

# Alle nicht ausgefilterten Mails landen in der normalen Mailbox

Abwesenheitsbenachrichtigung (vacation)

Zunächst erstellen wir im Ordner Maildir eine Datei vacation.msg, deren Text als Nachricht verschickt werden soll.

In die .procmailrc fügen wir folgende Zeilen ein :

SHELL=/bin/sh
FORMAIL=/usr/bin/formail
SENDMAIL=/usr/sbin/sendmail
:0 Whc: vacation.lock
* .*for willi
# Nur E-Mails, die an meine Adresse adressiert sind
* !^FROM_DAEMON
# Daemons (Mailinglisten) ausschließen
* !^X-Loop: myself@example.com
# Loop vermeiden: eigene E-Mail ausschließen
| formail -rD 8192 vacation.cache
# Adresse des Senders im Cache speichern
:0 ehc
# e: letztes recipe trifft nicht zu (Adresse noch nicht im Cache vorhanden)
| ($FORMAIL -rA "Precedence: junk" -A "X-Loop: myself@example.com" ; /bin/cat vacation.msg ) | $SENDMAIL -oi -t -f myself@example.com

Eine E-Mail mit dem Inhalt der Datei vacation.msg und dem Absender myself@example.com wird an den Sender geschickt. Allerdings nur, wenn die Adresse noch nicht in der vacation.cache-Datei vorhanden war. Damit wird vermieden, dass ein Absender immer wieder die Abwesenheitsnachricht erhält.


Links zu weiteren Procmail Beispielen und Tipps

http://pm-doc.sourceforge.net/pm-tips.html

http://lipas.uwasa.fi/~ts/info/proctips.html (Timo's procmail tips and recipes)