E-Mail/Beispielkonfiguration: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Courier-Umstellung}}
#REDIRECT [[E-Mail/Konfiguration/.qmail-Dateien]]
{{Dot-QMail}}
 
[[Category:Mail]]
[[Category:E-Mail]]
Dieser Artikel soll ein paar Eindrücke der Möglichkeiten bieten, was man mit QMail als Benutzer alles tun kann.
Dieser Artikel soll ein paar Eindrücke der Möglichkeiten bieten, was man mit QMail als Benutzer alles tun kann.
==Die dot-qmail-Datei==
==Die dot-qmail-Datei==
Dot-qmail-Dateien werden nach folgendem Muster aufgebaut:
Dot-qmail-Dateien werden nach folgendem Muster aufgebaut:
<pre>.qmail-$domain-$account</pre>
.qmail-''domain''-''adresse''
qmail ersetzt den Punkt prinzipiell durch einen Doppelpunkt.
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:
Ein Beispiel für Hanz@meier.de wäre dementsprechend:
<pre>.qmail-meier:de-hanz</pre>
.qmail-meier:de-hanz
Wenn die Adresse arbeit.hanz@meier.de heißen soll, muss die dot-qmail-datei folgendermaßen benannt werden:
Wenn die Adresse ''arbeit.hanz@meier.de'' heißen soll, muss die Datei folgendermaßen benannt werden:
<pre>.qmail-meier:de-arbeit:hanz</pre>
.qmail-meier:de-arbeit:hanz
 
==Die Symbole einer dot-qmail-Datei==
==Die Symbole einer dot-qmail-Datei==
<pre>./path/to/maildir/</pre>
Der Mailserver erkennt in der Regel am ersten und/oder letzten Zeichen einer Zeile, um welche Form der Zustellung es sich handeln soll.  
In ein Maildir verschieben
Folgende Regeln sind dabei einzuhalten.
<pre>./path/to/mbox</pre>
In eine mbox verschieben
<pre>&user@host.de</pre>
Mail weiterleiter. Das ''&'' ist dabei optional führt aber zu mehr Übersichtlichkeit
<pre>| programmname</pre> ankommende Mails in ein Programm pipen


==Beispielconfig==
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===
===.qmail===
Diese Datei liegt im $HOME des users und kontrolliert die eMail-Adresse $user@$host. Sie sorgt dafür, dass
Eine derartige Datei liegt im [[Homeverzeichnis]] jedes Benutzers und kontrolliert die E-Mail-Adresse '''''benutzername'''@schokokeks.org''.
#Die Mails von einem Anti-Virus-Script gefiltert werden
 
##Wenn sie Viren sind, an eine spezielle Adresse weiterleiten (oder in einer Mailbox ablegen)
Untenstehendes Beispiel erreicht folgende Zustellung:
#Die Mails von SpamAssassin kontrolliert werden
* Alle ankommenden Nachrichten werden von einem Anti-Virus-Script geprüft
##Spammails an eine andere Adresse weiterleiten (oder in einer Mailbox ablegen)
:* Wenn es sich um Viren handelt, werden die Nachrichten in einer speziellen Mailbox abgelegt (eine Weiterleitung an eine andere Adresse ist ebenfalls möglich)
#All jene die weder Spam noch Viren sind im Maildir ''./.maildir/'' landen
* Alle Nachrichten, die nicht bereits vom Virenscanner umgeleitet wurden, werden mittels SpamAssassin auf Spamverdacht geprüft.
<pre>|/usr/local/bin/keks-user-qmail-ifvirus put ./ordner/für/viren/
:* Erkannte Nachrichten werden in einer separaten Mailbox abgelegt (auch hier wäre eine Weiterleitung an eine andere E-Mail-Adresse möglich)
|/usr/local/bin/keks-user-qmail-ifspam put ./ordner/für/spam/
* All jene Nachrichten, die weder als Spam noch als Viren eingestuft wurden, werden in der Mailbox ''./.maildir/'' abgelegt
./.maildir/</pre>
 
|/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==
==Beispielscripte==


Auf ''schokokeks.org'' stehen Beispiel-Scripte zur Verfügung, die man so benutzen oder in seinen useraccount installieren und verändern kann.
<div style="background-color: #F7F7BE; border: 2px solid #9797BE; padding: 0.5em;">
<strong>HINWEIS:</strong> Nachfolgende Hinweise sind zwar gültig, aber nicht mehr empfohlen. Alternative Möglichkeiten werden zur Zeit intensiv getestet.
</div>
 
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'''.
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 Vogehen möglich:
Mit diesen Scripten ist folgendes Vorgehen möglich:


# löschen von erkannten Mails (Jeder ist selbst verantwortlich für damit verlorene Mails!)
* löschen von erkannten Mails (Jeder ist selbst verantwortlich für damit verlorene Mails!)
   /usr/local/bin/keks-user-qmail-ifvirus delete
   |/usr/local/bin/keks-user-qmail-ifvirus delete
# verschieben von erkannten Mails in eine beliebige Mailbox
* verschieben von erkannten Mails in eine beliebige Mailbox
   /usr/local/bin/keks-user-qmail-ifvirus put <mailbox>
   |/usr/local/bin/keks-user-qmail-ifvirus put <mailbox>
# weiterleiten von erkannten Mails an eine beliebige Adresse
* weiterleiten von erkannten Mails an eine beliebige Adresse
   /usr/local/bin/keks-user-qmail-ifvirus <address>
   |/usr/local/bin/keks-user-qmail-ifvirus <address>
# Einspeisen von erkannten Mails in ein beliebiges Programm oder Script
* Einspeisen von erkannten Mails in ein beliebiges Programm oder Script
   /usr/local/bin/keks-user-qmail-ifvirus pipe <command>  
   |/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!
* 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}
   |/usr/local/bin/keks-user-qmail-ifvirus tag {delete|put|pipe}


==Bitte unbedingt beachten!==
===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.
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.

Aktuelle Version vom 1. September 2007, 16:48 Uhr

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.