Forum: PC Hard- und Software Docker-Mailserver der Mails aus einem Postfach holt


von Matthias S. (da_user)


Lesenswert?

Hi,
ich habe mittlerweile eine Kiste daheim, die praktisch 24/7 durchläuft.
Und dazu ein Mailpostfach (info@...) zu meinem angemieteten Webspace 
welches als "CatchAll" konfiguriert ist.
Nun hat das Postfach leider keinen Spamfilter (mehr), was kein Problem 
wäre, wenn ich die Mails z.B. nur mit Thunderbird abrufen würde. Aber 
ich lese die ja auch mobil. Und so kommt auch jede Menge Spam rein.

Zudem nutze ich auch sehr gerne die CatchAll Funktion, um E-Mails quasi 
anhand des Empfängers zu sortieren. (privat@...; arbeit@...; usw. usf.) 
Was aber praktisch auch nur mit Thunderbird klappt.

Ich würde das ganze gerne ändern. Dazu habe ich mir überlegt, das da ein 
Mailserver ganz fesch wäre, der die Mails dann einfach aus dem Postfach 
abholt, per imap/pop3. Also nicht im klassischen Sinne als Mail-Server 
dient.
Den Mailserver würde ich gerne in Docker einsetzen, und hätte hierbei 
schon diesen hier gefunden, der wohl ziemlich gut sein soll: 
https://github.com/tomav/docker-mailserver

Meine Frage(n):
- geht das überhaupt grundsätzlich?
- geht das mit den von mir ausgesuchten Docker-Container?
- wie Konfiguriere ich den dann?

VG
da_user

von Arno (Gast)


Lesenswert?

Grundsätzlich geht das. Sowas läuft auf meinem Raspberry Pi, allerdings 
ohne Docker.

Ich vermute, das geht auch mit dem von dir ausgesuchten 
Docker-Container, auch wenn der deutlich mehr kann als du willst 
(nämlich eben gerade doch einen "klassischen" Mailserver).

Die Mails kannst du mit fetchmail abrufen lassen (per POP3 oder IMAP). 
Fetchmail gibt die eMails an postfix weiter, postfix leitet sie 
(vermutlich im Zusammespiel mit amavis) durch den Spamfilter 
(SpamAssassin) und Virenscanner (ClamAV) und speichert sie anschließend 
lokal, wobei du mit der Sieve-Funktion die Mails direkt filtern und in 
verschiedenen Postfächern abspeichern kannst. Danach kann dovecot auf 
diese eMails zugreifen und sie per POP3 oder IMAP (besser) deinen 
Clients zur Verfügung stellen. Soweit das globale Prinzip...

Alles andere in dem Docker-Container scheint mir für die "klassische" 
Mailserver-Funktion zu sein, kannst du also abstellen.

Allerdings ist das nicht "mal so eben" eingerichtet, sondern will Stück 
für Stück konfiguriert werden. Dazu hat der Docker-Container-Anbieter ja 
auch ein README geschrieben, dazu gibt er die Konfigurationsdateien frei 
und dazu verlinkt das README auf die einzelnen Programme, die er 
einsetzt. Ich fürchte, das Lesen und Verstehen wird dir hier keiner 
abnehmen können.

Und denk daran: Es werden regelmäßig Sicherheitslücken in Software 
gefunden und (hoffentlich) gefixt, das ist nicht mit "einmal aufsetzen 
und vergessen" getan. Gerade für die Teile, die aus dem Internet 
erreichbar sein sollen (der IMAP-Server dovecot) oder versehentlich sind 
(postfix) - mit fehlkonfigurierten oder kaputten Mailservern kann man 
sich sehr schnell sehr unbeliebt machen, wenn darüber größere Mengen an 
Spam verschickt werden.

Tipp: Wenn du für fetchmail deine Accounts konfigurierst, dann lass 
(zumindest zu Beginn) die Mails auf dem Server liegen (Schlüsselwort 
"keep") - dann kannst du auf dem Mailserver alles kaputt machen und hast 
trotzdem noch die eMails auf dem Server. Ein Testaccount wäre natürlich 
noch netter...

MfG, Arno

von Tastenklopper (Gast)


Lesenswert?

Bedenke dass auch die "Kiste aussen" einen Mailserver für lokale Mails 
braucht. Der kann dann aber als Smarthost den gedockerten Mailserver 
verwenden.

Generell bringt dir Docker bei der Anwendung hautptsächlich den Vorteil, 
dass du nicht alle möglichen Greylisting, DKIM, SPF, Sieve, ... - 
Programme selber mit Postfix + Dovecot verheiraten musst, sondern da 
schon jemand Konfigurationsdateien vorbereitet hat. Vieles davon 
brauchst du aber garnicht.

Und der Sicherheitsaspekt wurde schon genannt, die Pakete direkt aus den 
debian/ubuntu/... werden bei Sicherheitslücken schneller aktualisiert 
als docker-images.

(Und nein: es hilft nicht wirklich weiter, dass ein Angreifer dann 
erstmal im Docker-Container eingesperrt ist. Deine Mails sieht er 
trotzdem und kann auf allen möglichen Webseiten per 
Passwort-Vergessen-Funktion deine Accounts übernehmen)

Also: da du dich eh mit postfix & co beschäftigen musst, wäre mein Rat: 
versuch's zuerst ohne docker, der macht es nur scheinbar einfacher.
(ausser natürlich deine "Kiste" ist ein NAS, und du hast garkeine andere 
Wahl)

von Sebastian L. (sebastian_l72)


Lesenswert?

Da kamen ein paar gute Sicherheitstipps.

Fragen des OT in kurz:
- geht das überhaupt grundsätzlich?
ja, aber warum sollte man das verdockern?

- geht das mit den von mir ausgesuchten Docker-Container?
ja

- wie Konfiguriere ich den dann?
So sicher wie möglich bei erträglichem Komfortverlust.


BTW: Auf einer entsprechend leistungsfähigen "NAS" läuft auch Docker. 
Die Nutzerverwaltung ist dann aber voll getrennt.

Das mit dem "Password vergessen" andere Dienste zu übernehmen wird mehr 
und mehr erschwert, da viele Dienste 2-Faktor Autentifizierung (selbst 
mein Sportverein) machen.

von Gerd E. (robberknight)


Lesenswert?

Fetchmail als passendes Tool wurde ja schon genannt.

Matthias S. schrieb:
> Zudem nutze ich auch sehr gerne die CatchAll Funktion, um E-Mails quasi
> anhand des Empfängers zu sortieren. (privat@...; arbeit@...; usw. usf.)

davon würde ich allerdings abraten. Denn in sehr vielen Konfigurationen 
funktioniert es nicht zuverlässig, daß es wirklich für alle Fälle 
funktioniert ist eigentlich fast schon die Ausnahme.

Denn das fetchmail kann nicht den eigentlichen SMTP-Empfänger (RCPT To) 
sehen, da es per POP abholt und da die SMTP-Verbindung schon lange 
beendet ist. Dem fetchmail bleibt nur diese Information aus den 
Received-Headern oder sowas wie X-Envelope-To auszulesen, was der 
Provider dort evtl. reingeschrieben hat.

Sehr viele bei den Providern eingesetze Software kann das allerdings 
nicht vollständig. Sobald z.B. eine Mail an mehrere Empfänger in der 
selben Domain gleichzeitig versendet wird, geht es gerne schief. Genauso 
beim Einsatz von BCC: oder undisclosed recipients. Evtl. auch im 
Zusammenhang mit mehreren Empfängern in der selben Domain.

Die Folge ist, daß vielleicht 95% der Mails korrekt ankommen und der 
Postmaster die restlichen 5% von Hand sortieren darf. Das halte ich 
nicht für brauchbar.

Meine Empfehlung für so ein Setup wäre daher einzelne POP-Accounts beim 
Provider für jede Emailadresse. Oder alternativ natürlich Deine externe 
feste IP direkt als MX für die Domain einzutragen und damit auf Provider 
und fetchmail zu verzichten.

von Matthias S. (da_user)


Lesenswert?

Hi,

ja danke, ich glaube die Infos helfen mir weiter.

Arno schrieb:
> Allerdings ist das nicht "mal so eben" eingerichtet, sondern will Stück
> für Stück konfiguriert werden.

Ja. Wird eine Geschichte für den Weihnachtsurlaub, soweit da möglich.

Im Moment habe ich sowieso das "Problem", dass die Kiste für die Innfo-, 
Wartungs- und Warnungsmails einen Postfix-Server laufen hat, der mir den 
Port 25 blockiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.