Zum Hauptinhalt springen

Bestehende Postfächer auf Uberspace abrufen

Ich habe mir kürzlich einen Uberspace zugelegt, um die Erreichbarkeit von einigen kritischen Services zu sichern. Unter anderem läuft mein Mailverkehr zukünftig nicht mehr über den Freemailer GMX, sondern über meine name.tld auf dem Uberspace. Zumindest in den ersten Monaten möchte ich allerdings weiterhin die Mails von meinen GMX Postfächern abrufen weil es immer irgendeinen Account gibt, den ich noch nicht umgestellt habe oder eine mir schreibende Person den Adresswechsel bisher nicht mitbekommen hat.
Fetchmail ist auf den Uberspaces nicht installiert, dafür aber das offenbar sogar bessere Getmail. Die Konfiguration ist trivial einfach und die vorhandene Doku mehr als ausgiebig.

Der Abruf meiner GMX Postfächer funktioniert und liefert alles in mein entsprechendes Maildir aus. Soweit so gut. Ich hätte aber gern Spam wie zum Beispiel die GMX Newsletter auch als solchen markiert und aussortiert und nicht in meiner Inbox. Getmails Filter-Option bringt mir leider nicht mehr als einen [SPAM] Tag im Betreff und DSPAMs potentielle Spamwahrscheinlichkeit im Header weil Getmail die Mails nur an die Filter weitergibt und wieder abholt. Einzige Verarbeitungsoptionen nach den Filtern wären dann drop oder keep was mir im Falle eines False Positives nicht erlaubt die Mail trotzdem zu sehen oder mir weiterhin dem Spam in die Inbox zustellt.

Mein Lösungsansatz ist die Mails nach dem Abrufen durch Getmail in den Uberspace Mailflow (in meiner Konfiguration netqmail -> maildrop -> SpamAssassin -> DSPAM -> Maildir) einzubinden. Dadurch würden sie ebenfalls die Filter durchlaufen aber danach von Maildrop auch entsprechend wegsortiert werden.
Getmail bietet als MDA qmail-local an was in der Theorie gut passen würde. Leider setzt Getmail einen Multidrop-Retriever für MDA_qmaillocal als Destination voraus und das trifft bei GMX/Web.de nicht zu.
Dies lässt sich aber einfach umgehen, indem man als Destination MDA_external mit selbst definierten qmail-local Parametern verwendet:

[destination]
type = MDA_external
path = /var/qmail/bin/qmail-local
arguments = ("-N", "unix user", "/pfad/maildir", "%(local)", ".qmail Trennzeichen", ".qmail-EXT bei virtuellen Postfächern", "%(domain)", "%(sender)", "alternative Zustelladresse")

Die Variablen (alles wo ein % vor steht) werden durch Getmail mit den erforderlichen Werten gefüllt. Der qmail-local Pfad ist natürlich nicht absolut und muss für die entsprechende Installation angepasst werden. Alles in den eckigen Klammern, muss mit euren gewünschten Werten gefüllt werden.

Ein Beispiel:

arguments = ("-N", "max", "/user/max/", "%(local)", "-", "max", "%(domain)", "%(sender)", "max@mustermann.tld")

Beim Mailabruf wird jetzt ganz normal qmail aufgerufen der dann nach der passenden .qmail-EXT (in unserem Beispiel .email-max) Datei sucht in welcher der Maildrop Aufruf zum Filtern und sortieren steht.

Mails kommen an und ich bin glücklich!