Procmail: Unterschied zwischen den Versionen
(spamassassin) |
K (typo) |
||
(10 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
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. | |||
Das Standard-Mail-Zustellungsprogramm (Local Delivery Agent - LDA) bei Hostsharing ist <tt>deliver</tt> aus dem <tt>dovecot</tt>-Paket. Hier können Filter über [[Managesieve]] angelegt und z.B. über [[Roundcube - Filter|Webmail konfiguriert]] werden. Procmail sollte nur noch von fortgeschrittenen Nutzern für komplexe Filteraufgaben benutzt werden. | |||
=== Eingehende Emails an Procmail weiterleiten === | === Eingehende Emails an Procmail weiterleiten === | ||
Zeile 9: | Zeile 9: | ||
"|/usr/bin/procmail" | "|/usr/bin/procmail" | ||
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 [[Managesieve#Zusammenarbeit_mit_Procmail|~/.procmailrc]] konfiguriert werden. | ||
Das nachfolgende Beispiel zeigt wie | === Procmail konfigurieren === | ||
Das nachfolgende Beispiel zeigt wie ein [[Spamfilter]] eingebunden werden kann, und Emails automatisch in IMAP-Folder (Verzeichnisse) einsortiert werden können. | |||
==== Verzeichnisse anlegen ==== | |||
Die angesprochenen Emailverzeichnisse sollten vorher angelegt worden sein, falls sie noch nicht existieren ist dies z.B. mit dem Befehle maildirmake möglich: | |||
maildirmake Maildir | maildirmake Maildir | ||
Zeile 19: | Zeile 25: | ||
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. | 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. | ||
==== .procmailrc ==== | |||
Eine beispielhafte .procmailrc: | Eine beispielhafte .procmailrc: | ||
Zeile 45: | Zeile 53: | ||
</pre> | </pre> | ||
Möchte man die Mails mit Sieve filtern lassen, will man am Ende von .procmailrc evtl. das Programm "[[Managesieve#Zusammenarbeit_mit_Procmail|deliver]]" aufrufen lassen. | |||
==== Abwesenheitsbenachrichtigung (vacation) ==== | |||
Zunächst im Home-Ordner eine Datei vacation.msg erstellen, deren Text als Nachricht verschickt werden soll. | |||
Dann in die .procmailrc folgende Zeilen einfügen: | |||
<pre> | <pre> | ||
SHELL=/bin/sh | SHELL=/bin/sh | ||
Zeile 54: | Zeile 65: | ||
SENDMAIL=/usr/sbin/sendmail | SENDMAIL=/usr/sbin/sendmail | ||
:0 Whc: vacation.lock | :0 Whc: vacation.lock | ||
* . | * ^TO_myself@example.com | ||
# Nur E-Mails, die an meine Adresse adressiert sind | # Nur E-Mails, die an meine Adresse adressiert sind | ||
* !^FROM_DAEMON | * !^FROM_DAEMON | ||
Zeile 67: | Zeile 78: | ||
</pre> | </pre> | ||
Nun wird eine E-Mail mit dem Inhalt der Datei vacation.msg und dem Absender myself@example.com an die Absender empfangener Emails 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=== | === Links zu weiteren Procmail Beispielen und Tipps === | ||
http://pm-doc.sourceforge.net/ | http://pm-doc.sourceforge.net/doc/ | ||
http://lipas.uwasa.fi/~ts/info/proctips.html (Timo's procmail tips and recipes) | http://lipas.uwasa.fi/~ts/info/proctips.html (Timo's procmail tips and recipes) | ||
Zeile 80: | Zeile 89: | ||
[[Kategorie:E-Mail]] | [[Kategorie:E-Mail]] | ||
[[Kategorie:Glossar]] | [[Kategorie:Glossar]] | ||
[[Kategorie:Installationsanleitungen]] | |||
[[Kategorie:Software]] |
Version vom 5. März 2020, 19:26 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.
Das Standard-Mail-Zustellungsprogramm (Local Delivery Agent - LDA) bei Hostsharing ist deliver aus dem dovecot-Paket. Hier können Filter über Managesieve angelegt und z.B. über Webmail konfiguriert werden. Procmail sollte nur noch von fortgeschrittenen Nutzern für komplexe Filteraufgaben benutzt werden.
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.
Verzeichnisse anlegen
Die angesprochenen Emailverzeichnisse sollten vorher angelegt worden sein, falls sie noch nicht existieren ist dies z.B. mit dem Befehle maildirmake möglich:
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.
.procmailrc
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
Möchte man die Mails mit Sieve filtern lassen, will man am Ende von .procmailrc evtl. das Programm "deliver" aufrufen lassen.
Abwesenheitsbenachrichtigung (vacation)
Zunächst im Home-Ordner eine Datei vacation.msg erstellen, deren Text als Nachricht verschickt werden soll.
Dann in die .procmailrc folgende Zeilen einfügen:
SHELL=/bin/sh FORMAIL=/usr/bin/formail SENDMAIL=/usr/sbin/sendmail :0 Whc: vacation.lock * ^TO_myself@example.com # 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
Nun wird eine E-Mail mit dem Inhalt der Datei vacation.msg und dem Absender myself@example.com an die Absender empfangener Emails 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/doc/
http://lipas.uwasa.fi/~ts/info/proctips.html (Timo's procmail tips and recipes)