Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

cool:qmail-aliasfilter
Alle Anleitungen in diesem Wiki beziehen sich auf Uberspace 6. Die Dokumentation für U7 findest du im neuen Manual.

Für jede Registrierung auf einer Webseite einen eigenen E-Mail-Alias nutzen

Ihr kennt das sicherlich. Ob Facebook, Google, GitHub oder Yahoo: alle wollen sie eure E-Mail-Adresse für die Registrierung. Und wenn dann später mal Spam kommt, wisst ihr nicht mehr, wo eure Daten genau abhandengekommen sind. Empfehlenswert ist es daher, für jede Webseite eine eigene E-Mail-Adresse zu benutzen, die ihr später einfach blocken könnt.

Auf eurem Uberspace habt ihr ja glücklicherweise die Möglichkeit, unbegrenzt E-Mail-Adressen anzulegen. Mithilfe der .qmail-Dateien könnt ihr zudem ohne großen Aufwand auch Weiterleitungen und Filterregeln realisieren. Es ist allerdings auch ein bisschen nervig, für jede neue Registrierung erst eine neue .qmail-Datei anzulegen. Genau für solche Fälle hat qmail schon die tolle Erweiterung default implementiert.

Einer unserer User hat nun ein kleines Tool in Python geschrieben, welches man einfach über die .qmail-default Datei aufrufen kann und welches die E-Mail-Adresse vom Sender mit der empfangenden E-Mail-Adresse abgleicht. Soweit die Theorie, hier mal ein Beispiel:

Mareike auf dem Server xenon möchte sich bei toller-newsletter.xx registrieren. Sie hat vorher eine .qmail-default Datei mit dem folgenden Inhalt angelegt:

|./qmail-aliasfilter.py
mareike

Nun kann sich Mareike bei toller-newsletter.xx mit der E-Mail-Adresse mareike-toller-newsletter.xx@xenon.uberspace.de registrieren. Alle E-Mails, die auf dieser Adresse empfangen werden, müssen nun von toller-newsletter.xx kommen, ansonsten werden sie mit dem Exitcode 99 gedroppt (alternativ könnt ihr auch den Exitcode 100 nehmen, welcher aber aus Gründen nicht zu empfehlen ist). Wenn Mareike sich jetzt noch bei tolle-domain.xx ein Konto registrieren möchte, kann sie einfach die E-Mail-Adresse mareike-tolle-domain.xx@xenon.uberspace.de benutzen.

Natürlich klappt das auch, wenn die Mail nicht von newsletter@toller-newsletter.xx kommt, sondern z.B. von no-reply@irgendeine.subdomain.toller-newsletter.xx, dafür müsste die E-Mail-Adresse einfach mareike-.toller-newsletter.xx@xenon.uberspace.de lauten. Mehr dazu im Abschnitt Filtermöglichkeiten im Detail.

qmail-aliasfilter installieren

Ihr könnt qmail-aliasfilter einfach ​hier herunterladen​ (Update: das originale Script ist leider offline aber wurde geforkt:) hier herunterladen und dann in eurem Home-Verzeichnis ablegen (​chmod 755​ nicht vergessen). Wichtig: qmail-aliasfilter braucht ein neueres Python als das Default-Python;​ du solltest daher die erste Zeile …

#!/usr/bin/env python

… wie folgt ändern:

#!/usr/bin/env python2.7

Ihr müsst dann nur noch eine Datei namens .qmail-xxx-default erstellen und den Pfad zu eurem qmail-aliasfilter.py-Script anpassen. Liegt das Script in /home/marcel/bin, könnte eure Datei so aussehen:

|./bin/qmail-aliasfilter.py
marcel

Filtermöglichkeiten im Detail

In der aktuellen Version hat qmail-aliasfilter einige neue Filtermöglichkeiten spendiert bekommen. Hier mal ein paar Beispiele für verwendbare E-Mail-Adressen:

  1. nospam-example.com@… akzeptiert E-Mails nur von example.com (es muss also genau der Hostname in der E-Mail-Adresse sein, der auch sendet)
  2. nospam-test.example.com@… akzeptiert E-Mails nur von test.example.com (s.o.)
  3. nospam-.example.com@… akzeptiert E-Mails von *.example.com (also jede beliebige Subdomain)
  4. nospam-example.@… akzeptiert E-Mails von example.* (example.com, example.org,… Vielen Dank an Philipp für die Idee!)
  5. nospam-.example.@… akzeptiert E-Mails von *.example.*
  6. nospam-example.com+newsletter.example.org@… akzeptiert E-Mails von example.com und newsletter.example.org

Vor allem die Methode nospam-example.@… ist interessant, wenn ihr wisst, dass ein Anbieter ggf. über mehrere Top-Level-Domains verfügt und die E-Mails wie z.B. bei Amazon nicht immer von der .de-Domain gesendet werden.

Kombination mit anderen Filtern

Der Vorteil an dieser Methode ist, dass qmail-aliasfilter nur die Filterung des Alias durchführt. Ihr könnt anschließend die ganze E-Mail auch noch durch ein maildrop-Script laufen und/oder per SpamAssassin auswerten lassen.

Mareikes .qmail-default sähe dann z.B. so aus:

|./qmail-aliasfilter.py
|maildrop
mareike

Logging

Neben den verbesserten Filtermöglichkeiten liefert die aktuelle Version von qmail-aliasfilter nun auch standardmäßig ein aktiviertes Logging mit. Das Log wird beim ersten Filterversuch automatisch im Home-Verzeichnis des Benutzers angelegt.

[mareike@xenon ~]$ cat /home/mareike/qmail-aliasfilter.log
[Tue Feb 21 17:13:39 2012] [Accepted] qmail-aliasfilter accepted an email from 'test@example.com' to 'mareike-example.com@xenon.uberspace.de'
[Tue Feb 21 17:13:58 2012] [Rejected] qmail-aliasfilter rejected an email from 'test@spam.xxx' to 'mareike-example.com@xenon.uberspace.de'

So lässt sich immer schön nachverfolgen, welche E-Mails besonders vom Spam betroffen sind.

cool/qmail-aliasfilter.txt · Zuletzt geändert: 2015/07/21 14:40 von uber