IT-MÜCKE

procmail einrichten

Beitragsdatum 21.02.2018
Letzte Aktualisierung 22.02.2018
Betrifft Ubuntu 14.04, 16.04 und andere, procmail 3.23 und andere

Ziel

Auf einemk virtuellen Server mit Plesk soll eine Mailfilterung unabhängig von einem Mail-User-Agent (MUA) eingeführt werden. Genau dafür ist procmail gedacht. Damit lassen sich serverseitig Mails sortieren, weiterleiten und verschieben (auch löschen).


Einrichtung

  • Lokalisierung des Mail-Verzeichnisses der Empfängermailbox
  • Unter Ubuntu und Plesk ist dies:
    # /var/qmail/mailnames/[domain]/[mailboxname]
    # z.B.:
    /var/qmail/mailnames/it-muecke.de/procmailtest
  • Dort wird eine neue Datei angelegt: .procmailrc
    # .procmailrc
    # filtern von emails mit procmail
    
    VERBOSE=yes
    LOGABSTRACT=all
    MAILDIR=/var/qmail/mailnames/it-muecke.de/procmailtest/Maildir
    PROCMAILDIR=/var/qmail/mailnames/it-muecke.de/procmailtest/.procmail
    LOGFILE=$PROCMAILDIR/log
    # Wo werden Mails abgelegt, die procmail nicht filtert:
    DEFAULT=${MAILDIR}/new
    
    :0
    * ^From.*mail@it-muecke.de
    * ^Subject.*\[Test\]\ Dies\ ist\ ein\ Test
    ! weiterleitungsadresse@domain.tld
  • Die * leiten eine RegExp ein, auf die der Filter matcht
  • Eine Weiterleitung an eine andere E-Mail-Adresse wird mit ! eingeleitet
  • Ferner muss die dort befindliche Datei .qmail geändert werden:
    | true
    | /usr/bin/procmail -m .procmailrc
  • Nun muss ein Verzeichnis .procmail angelegt werden:
    mkdir .procmail
  • Anschließend müssen die Dateiberechtigungen angepasst werden:
    # Inhalt auflisten:
    ls -la
    
    # Ausgabe z.B.:
    drwxr-xr-x 2 popuser popuser 4.0K Feb 21 11:30 .procmail
    -rw-r--r-- 1 popuser popuser  447 Feb 21 11:37 .procmailrc
    -rw------- 1 popuser popuser   42 Feb 21 11:25 .qmail
    drwxr-xr-x 2 popuser popuser 4.0K Feb 21 11:24 .spamassassin
    drwx------ 2 popuser popuser 4.0K Feb 21 11:24 @attachments
    drwx------ 7 popuser popuser 4.0K Feb 21 11:42 Maildir
    
    
    # Weichen Owner/Group-Names ab, dann sind diese anzupassen:
    # chown [owner].[group] [datei]
    # z.B.:
    chown popuser.popuser .qmail

Testen

  • Man kann procmail-Filter auf bereits vorhandene Mails testweise anwenden
  • Dazu folgenden Befehl nutzen:
    # procmail [pfad zur procmailrc] < [pfad zu einer testmail]
    # z.B.:
    procmail ./.procmailrc < /var/qmail/mailnames/meine-domain.de/mail/Maildir/cur/testmail
  • Anschließend kann der Erfolg in der logfile überprüft werden

Doppelte Mails?

  • Unter bestimmten Umständen kann es dazu kommen, dass alle Mails an eine Adresse, die mit procmail Mails filtert, doppelt abgelegt werden
  • Das kann dann passieren, wenn procmail die Mail nicht filtert (löscht) und normal ausliefert und qmail genau die Mail ebenfalls ausliefert.
  • In diesem Fall kann die .procmailrc erweitert werden um ein letztes Rezept:
    :0
    /dev/null
  • Dieses Rezept löscht alle Mails, die nicht durch ein Rezept gelöscht wurden.
  • Vorsicht: Mit einem solchen Rezept kann man natürlich dafür sorgen, dass gar keine Mails mehr kommen. Also aufpassen…

Filter


Quellen:


Ähnliche Themen im blog:
plesk, qmail


zurück