Abo
  • Services:
Anzeige
Unseren Imap-Server können wir mit eigegen Filtern, Spam-Abwehr und Virenschutz erweiterm.
Unseren Imap-Server können wir mit eigegen Filtern, Spam-Abwehr und Virenschutz erweiterm. (Bild: Jörg Thoma/Golem.de)

Eigener Mailserver: E-Mails daheim aussieben

Im eigenen E-Mail-Server geht viel elektronische Post ein. Jetzt soll er diese eigenständig sortieren und außerdem unsere E-Mails nach Viren durchsuchen.

Anzeige

Wer nach unserer Anleitung seine E-Mails zu Hause abholt und speichert, will sicher auch eine automatische Sortierung vornehmen, damit der Posteingang nicht überläuft. Vor allem abonnierte Mailinglisten generieren teils Hunderte von E-Mails, die ohne Sortierung das Postfach überquellen lassen. Üblicherweise lässt sich ein E-Mail-Client nutzen, um per Filter E-Mails in verschiedene Imap-Ordner zu sortieren. Zu Hause mit einem eigenen Mailserver ist diese Vorgehensweise aber wenig sinnvoll. Damit die Sortierung zeitnah geschieht, müsste der Client zusätzlich zum Server durchweg laufen. Besser ist es, die Sortierung dem Server zu überlassen. Diese Dienste benötigen ziemlich viel Rechenleistung und Speicher, daher ist ihr Einsatz auf schwächeren Rechnern, etwa dem Raspberry Pi, nicht zu empfehlen.

Für die Sortierung gibt es das Sieve-Protokoll und beispielsweise für den Imap-Server Dovecot die Anwendungen Sieve und Managesieve, die nicht ganz einfach einzurichten sind. Mit apt-get install dovecot-managesieved installieren wir beide in einem Durchgang. Jetzt muss in der Konfigurationsdatei /etc/dovecot/conf.d/15-lda.conf im Abschnitt protocol lda die Raute vor der Zeile mail_plugins entfernt werden. Sie muss zudem um die Zeichenkette sieve ergänzt werden und folgendermaßen aussehen:

mail_plugins = $mail_plugins sieve

Danach starten wir den Imap-Server mit service dovecot restart neu.

Nun folgt der kniffelige Teil der Konfiguration: das Erstellen der Filterregeln. Zunächst machen wir uns mit dem Aufbau des Maildir-Ordners in unserem Home-Verzeichnis vertraut. Unterverzeichnisse beginnen immer mit einem Punkt. Enthält der im Client erstellte Unterordner ein Leerzeichen, wird dieses ebenfalls mit einem Punkt ersetzt.

Jeder Benutzer kann für sich filtern

Jeder Benutzer kann eigene Filter verwenden. Diese werden in der Konfigurationsdatei .dovecot.sieve im Homeverzeichnis angelegt, etwa mit touch ~/.dovecot.sieve. Dort muss der vorangestellte Punkt im Dateinamen beachtet werden. Die einzelnen Filterregeln werden darin in If-Else-Anweisungen festgelegt, beispielsweise:

if header :contains "from" "Mailingliste" {fileinto "INBOX.Mailingliste";}
elsif header :contains "subject" "Linux-Kernel" {fileinto "INBOX.Linux.Kernel";}
else {keep;}

In diesem Abschnitt werden E-Mails, in deren Absender die Zeichenkette "Mailingliste" enthalten ist, in das Imap-Unterverzeichnis "Mailingliste" verschoben. Außerdem werden E-Mails, in deren Betreffzeile die Zeichenkette "Linux-Kernel" steht, in den Unterordner "Linux Kernel" verschoben. Ein Abschnitt wird stets mit der Anweisung else {keep;} geschlossen, damit der Sieve-Interpreter weiß, wie mit allen anderen E-Mails zu verfahren ist. In diesem Falle weist der Befehl Keep den Sieve-Interpreter an, alle E-Mails, auf die die vorangegangenen Konditionen nicht zutreffen, in den Hauptordner INBOX zu verschieben.

Oder oder Und

Das Beispiel zeigt nur einige der Schlüsselwörter, die der Sieve-Interpreter verarbeitet. Sieve ist eine Standardsprache nach RFC 5228 für das Filtern von E-Mail-Nachrichten. Einzelne Anweisungen lassen sich auch zusammenfassen, etwa mit

elsif anyof (header :contains "from" "LKML",header :contains "Subject" "Linux-Kernel") {fileinto "INBOX.Linux.Kernel";}

Hier spielt der Befehl anyof die entscheidende Rolle. Damit untersucht Sieve eine E-Mail daraufhin, ob die Kopfzeile einer E-Mail die Zeichenkette LKML oder Linux-Kernel enthält, und verschiebt sie gegebenenfalls in das Imap-Unterverzeichnis Linux Kernel. Statt anyof lässt sich auch allof nutzen. Dann wird eine E-Mail nur dann verschoben, wenn beide Konditionen wahr sind.

Mit Sieve lassen sich auch Regeln für Spam-Mails erstellen, etwa

elsif (header :contains "Subject" ["*Viagra*", "*viagra*"]) {fileinfo "Inbox.spam";}

Alternativ können solche E-Mails auch gleich gelöscht werden:

elsif (header :contains "Subject" ["*Viagra*", "viagra*"]) {discard;}

Sinnvoll ist es, eine Regel in jeweils einer If-else-Anweisung festzulegen. Zu lange If-else-Ketten werden schnell unübersichtlich.

Mit Plugins über den Client sieben

Auf der Webseite thsmi.github.io gibt es eine übersichtliche Referenz der Sieve-Befehle, Operatoren oder Testkommandos. Auch die deutschsprachige Wikipedia-Seite zu Sieve ist ein guter Anlaufpunkt, um mehr über Sieve zu erfahren.

Das bereits von uns installierte zusätzliche Modul Managesieve ermöglicht die Filterverwaltung über E-Mail-Clients. Das erleichtert unter Umständen die Eingabe komplexer Filterregeln. Nicht alle Clients bringen jedoch die Unterstützung dafür mit. Für Thunderbird gibt es beispielsweise lediglich ein externes Plugin. Dazu muss aber der Port 4190 in der Firewall geöffnet werden, wenn Managesieve auch vom Internet aus verwaltet werden soll.

Gegen Spam und Viren vorgehen 

eye home zur Startseite
tingelchen 01. Jul 2014

Dazu kommt das diese Konfigurationsdinger auch die Konfigurationen teils vergeigen. Ganz...

tingelchen 01. Jul 2014

Ja, das macht er. Ist schon eine weile her seit dem ich den das letzte mal genutzt habe...

tingelchen 01. Jul 2014

Nicht zu vergessen das es viele Mail Server gibt die Dyn Hosts überhaupt nicht leiden...

Phreeze 30. Jun 2014

ist auch drauf. Der grösste Teil ist selbsterklärend. Wer nicht gut klarkommt...

joojak 30. Jun 2014

apt-cache search managesieve ;) Glaube den kleinen bug hat die Redaktion bereits behoben ..



Anzeige

Stellenmarkt
  1. Carmeq GmbH, Wolfsburg/Berlin
  2. Continental AG, Frankfurt
  3. Carmeq GmbH, Berlin
  4. escrypt GmbH Embedded Security, Bochum


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)
  2. und 20€ Steam-Guthaben abstauben

Folgen Sie uns
       


  1. Indiegames-Rundschau

    Krawall mit Knetmännchen und ein Mann im Fass

  2. Microsoft

    Surface Book 2 mit 15 Zoll kommt nach Deutschland

  3. Patent

    Huawei untersucht alternative Smartwatch-Bedienung

  4. AirSpaceX

    Lufttaxi Mobi-One kann fliegen und fahren

  5. NGSFF alias M.3

    Adata zeigt seine erste SSD mir breiterer Platine

  6. Ransomware

    Krankenhaus zahlt 60.000 US-Dollar trotz Backups

  7. Curie

    Google verlegt drei neue Seekabel

  8. Auto

    Ferrari plant elektrischen Supersportwagen

  9. Faser-Wearables

    OLED als Garn für leuchtende Stoffe

  10. Square Enix

    PC-Version von Final Fantasy 15 braucht 155 GByte auf der HD



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sgnl im Hands on: Sieht blöd aus, funktioniert aber
Sgnl im Hands on
Sieht blöd aus, funktioniert aber
  1. Displaytechnik Samsung soll faltbares Smartphone auf CES gezeigt haben
  2. Digitale Assistenten Hey, Google und Alexa, mischt euch nicht überall ein!
  3. MX Low Profile im Hands On Cherry macht die Switches flach

EU-Urheberrechtsreform: Abmahnungen treffen "nur die Dummen"
EU-Urheberrechtsreform
Abmahnungen treffen "nur die Dummen"
  1. Leistungsschutzrecht EU-Kommission hält kritische Studie zurück
  2. Leistungsschutzrecht EU-Staaten uneins bei Urheberrechtsreform
  3. Breitbandausbau Oettinger bedauert Privatisierung der Telekom

Security: Das Jahr, in dem die Firmware brach
Security
Das Jahr, in dem die Firmware brach
  1. Wallet Programmierbare Kreditkarte mit ePaper, Akku und Mobilfunk
  2. Fehlalarm Falsche Raketenwarnung verunsichert Hawaii
  3. Asynchronous Ratcheting Tree Facebook demonstriert sicheren Gruppenchat für Apps

  1. Re: So viel Geld für das bisschen Auto?

    Kosta | 12:23

  2. Re: Backups sind nie ganz aktuell

    bjs | 12:22

  3. Re: Kein Backup? Kein Mitleid!

    gadthrawn | 12:22

  4. Re: Tja, backup Teams gibt es überall, aber...

    sodom1234 | 12:22

  5. Re: Wann hat das angefangen mit Windows in...

    gadthrawn | 12:21


  1. 12:00

  2. 11:48

  3. 11:20

  4. 10:45

  5. 10:25

  6. 09:46

  7. 09:23

  8. 07:56


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel