E-Mail/Beispielkonfiguration

Aus schokokeks.org Wiki
Weiterleitung
Zur Navigation springen Zur Suche springen

Dieser Artikel soll ein paar Eindrücke der Möglichkeiten bieten, was man mit QMail als Benutzer alles tun kann.

Die dot-qmail-Datei

Dot-qmail-Dateien werden nach folgendem Muster aufgebaut:

.qmail-domain-adresse

Die genannte Datei würde in der Regel die Adresse adresse@domain verwalten. Bei der Zustellung ersetzt der Mailserver einen Punkt in einer Adresse prinzipiell durch einen Doppelpunkt und wandelt alle Großbuchstaben in Kleinbuchstaben um. Ein Beispiel für Hanz@meier.de wäre dementsprechend:

.qmail-meier:de-hanz

Wenn die Adresse arbeit.hanz@meier.de heißen soll, muss die Datei folgendermaßen benannt werden:

.qmail-meier:de-arbeit:hanz

Die Symbole einer dot-qmail-Datei

Der Mailserver erkennt in der Regel am ersten und/oder letzten Zeichen einer Zeile, um welche Form der Zustellung es sich handeln soll. Folgende Regeln sind dabei einzuhalten.

Ablegen in einer Mailbox des Maildir-Format (Standardformat):

./path/to/maildir/
Dabei muss die Pfadangabe mit einem . (relativer Pfad zum Home-Verzeichnis) oder / (absoluter Pfad) beginnen und mit einem / enden.

Ablegen in einer Mailbox im MBox-Format (ACHTUNG: Dieser Mailbox-Typ kann nicht über POP3/IMAP abgerufen werden!):

./path/to/mbox
Identisch zum Anlegen im Maildir-Format, nur endet der Pfad hier nicht mit einem / sondern bezeichnet eine Datei.

Die Nachricht einem externen Programm zur Weiterverarbeitung übergeben:

| /pfad/zum/Programm
Der Mailserver erkennt dies daran, dass die Zeile mit einem Pipe (|) beginnt. Bitte beachten Sie die Hinweise für Programme, die auf diese Art aufgerufen werden: man dot-courier

Weiterleitung an eine beliebige lokale oder externe E-Mail-Adresse:

&user@host.de
user@host.de

Mit einem & am Zeilenanfang wird dieses Verhalten erzwungen, jedoch wird auch jede Zeile die nicht eines der obigen Kriterien erfüllt als Weiterleitungsadresse erkannt.

Beispielkonfiguration

.qmail

Eine derartige Datei liegt im Homeverzeichnis jedes Benutzers und kontrolliert die E-Mail-Adresse benutzername@schokokeks.org.

Untenstehendes Beispiel erreicht folgende Zustellung:

  • Alle ankommenden Nachrichten werden von einem Anti-Virus-Script geprüft
  • Wenn es sich um Viren handelt, werden die Nachrichten in einer speziellen Mailbox abgelegt (eine Weiterleitung an eine andere Adresse ist ebenfalls möglich)
  • Alle Nachrichten, die nicht bereits vom Virenscanner umgeleitet wurden, werden mittels SpamAssassin auf Spamverdacht geprüft.
  • Erkannte Nachrichten werden in einer separaten Mailbox abgelegt (auch hier wäre eine Weiterleitung an eine andere E-Mail-Adresse möglich)
  • All jene Nachrichten, die weder als Spam noch als Viren eingestuft wurden, werden in der Mailbox ./.maildir/ abgelegt
|/usr/local/bin/keks-user-qmail-ifvirus put ./ordner/für/viren/
|/usr/local/bin/keks-user-qmail-ifspam put ./ordner/für/spam/
./.maildir/

Beispielscripte

HINWEIS: Nachfolgende Hinweise sind zwar gültig, aber nicht mehr empfohlen. Alternative Möglichkeiten werden zur Zeit intensiv getestet.

Auf schokokeks.org stehen Beispiel-Scripte zur Verfügung, die man so benutzen oder in seinen Useraccount installieren und verändern kann.

Diese Scripte liegen in den Dateien /usr/local/bin/keks-user-qmail-ifspam und /usr/local/bin/keks-user-qmail-ifvirus.

Mit diesen Scripten ist folgendes Vorgehen möglich:

  • löschen von erkannten Mails (Jeder ist selbst verantwortlich für damit verlorene Mails!)
 |/usr/local/bin/keks-user-qmail-ifvirus delete
  • verschieben von erkannten Mails in eine beliebige Mailbox
 |/usr/local/bin/keks-user-qmail-ifvirus put <mailbox>
  • weiterleiten von erkannten Mails an eine beliebige Adresse
 |/usr/local/bin/keks-user-qmail-ifvirus <address>
  • Einspeisen von erkannten Mails in ein beliebiges Programm oder Script
 |/usr/local/bin/keks-user-qmail-ifvirus pipe <command> 
  • Die Punkte 2, 3 und 4 können mit oder ohne Veränderung ("tagging") der Mail erfolgen. Tag immer ohne Parameter!
 |/usr/local/bin/keks-user-qmail-ifvirus tag {delete|put|pipe}

Bitte unbedingt beachten!

Eine Mail, die als Spam oder Virus erkannt wurde, wird nicht an die nachfolgenden Zeilen der Konfigurationsdatei weiter zugestellt. Also ein Aufruf mit einem einfachen tag als Parameter kann nicht funktionieren, da die Mail dann zwar verändert aber nirgendwohin zugestellt wird. Es muss immer ein Befehl als Parameter angegeben werden, wohin die Mail zugestellt wird.