Der Stalwart Mail Server ist eine moderne, quelloffene E-Mail-Serverlösung, die speziell entwickelt wurde, um die Herausforderungen der Selbstverwaltung von E-Mail-Servern zu bewältigen. Er unterstützt eine Vielzahl moderner Protokolle wie JMAP, IMAP4, POP3 und SMTP und ist in der Programmiersprache Rust geschrieben, was ihm hohe Sicherheit und Leistung verleiht. Durch die Kombination aus fortschrittlicher Spam- und Phishing-Abwehr sowie einer benutzerfreundlichen Konfiguration bietet der Stalwart Mail Server eine zuverlässige Lösung für Unternehmen und Einzelpersonen, die ihre E-Mail-Infrastruktur selbst hosten möchten. Dies macht ihn zu einer attraktiven Alternative zu traditionellen E-Mail-Diensten, insbesondere für diejenigen, die Wert auf Datenschutz und Kontrolle legen
Datum | Änderungen |
---|---|
23.10.2024 | Erstellung dieser Anleitung. |
03.11.2024 | Kapitel 10 um Reverse DNS erweitert |
03.12.2024 | Kapitel 7 angepasst. Danke an @chwonl |
07.02.2025 | Kapitel 12 hinzugefügt. Kapitel 6 angepasst. Danke an @matzemakes |
0. Infos zur verwendeten Stalwart Version und Einschränkungen
Ich verwende für diese Anleitung Stalwart in der kostenlosen Community Version. Diese Version hat jedoch einige Einschränkungen. Die genauen Einschränkungen könnt ihr hier beim Hersteller einsehen. Es fehlen unter anderem alle Dashboards oder sonstige Report Funktionen. Die kostenpflichtige Small Business Version startet ab 120€ pro Jahr.
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik V3 Installation, Konfiguration und CrowdSec-Security
2. Verzeichnis erstellen
Dazu gebt ihr folgenden Befehl ein:
mkdir -p /opt/containers/stalwart
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
10. Stalwart einrichten
Nun wartet ihr eine Minute und dann geht ihr auf eure Homepage: https://mail.euredomain.de und solltet folgendes sehen:
Meldet euch nun mit den Login Daten an, welche ihr im Schritt 5 gesehen und kopiert habt. Nun seid ihr im Admin Interface.
Klickt nun auf “Domains”.
Jetzt auf “Create Domain”.
Hier gebt ihr nun den Namen eurer Domain an.
Nun seht ihr eure Domain. Klickt auf die “3 Punkte” und wählt “DNS records” aus.
Fügt jetzt auf eurem DNS Server alle Einträge hinzu, welche ihr hier seht:
Zusätzlich solltet ihr noch den Reverse DNS anpassen. Bei netcup könnt ihr den Reverse DNS Eintrag eures Servers sehr einfach anpassen. Dazu geht ihr Server Control Panel (SCP) und wählt dort euren Server aus. Unter dem Reiter “Netzwerk” könnt ihr nun den rDNS Eintrag anlegen.
Der rDNS Eintrag sollte identisch mit dem eurer Domain aus Schritt 4 sein.
Es kann bis zu 24 Stunden dauern, bis die DNS Einstellungen übernommen worden sind. Sollte es später bei euch nicht funktionieren, so wartet einfach mal einen Tag und versucht es dann erneut.
Anschließend legen wir uns unseren ersten Benutzer an. Klickt dazu auf “Directory –> Accounts”.
Hier legen wir unseren ersten Benutzer an.
Gebt nun einen Namen an.
Das Kennwort legt ihr unter “Authentication” fest.
11. Stalwart testen
11.1 Testen mit mxtoolbox.com
Die Webseite https://mxtoolbox.com liefert sehr viele Tests für euren Mail-Server. Diese könnt ihr einfach mal ausprobieren.
11.2 In Thunderbird / E-Mail Programm einbinden
Nun könnt ihr euch mittels eures E-Mail Programms verbinden. Ich zeige es hier am Beispiel von Thunderbird.
11.3 Testen mit mail-tester.com
Bei mail-tester.com bekommt ihr eine E-Mail Adresse angezeigt. Hier schickt ihr eine E-Mail hin und müsst einen Betreff / paar Zeilen Inhalt hinzufügen. Dies könnt ihr aber erst tun, wenn euren E-Mail Account bereits in eine E-Mail Programm eingebunden habt.
12. E-Mails per Webmailer (Roundcube) abrufen
Ihr habt noch die Möglichkeit Roundcube zu installieren und dann einfach per Webseite eure E-Mails abzurufen. Eine Anleitung dazu findet ihr hier.
Ich habe die Traefik3 und Stalwart-Anleitung jetzt 2x gemacht, da ich beim ersten Versuch die Adminseite auf admin.mail.meinedomain.de setzen wollte und gleichzeitig IMAP und Co auf mail.meinedomain.de lassen wollte. Dort soll in Zukunft auch der Webmailer lauschen. Hat irgendwie nicht funktioniert, und daher alles zurückgesetzt und ohne diese Änderung gemacht.
Stalwart funktioniert soweit. Ich kann die Admin-Seite ohne Probleme aufrufen. Jedoch meckert z.B. Thunderbird, dass ich ein self-signed Zertifikat hätte und ich dieses manuel hinzufügen muss. Auch der Mail-Check von Stalwart sagt so etwas.
Ich muss aber dazusagen, dass ich den rDNS-Eintrag noch nicht geändert habe, da contabo für meine IP dort bereit vm-adresse.contabo.de hinterlegt hat.
Kann es daran liegen und macht es ggf. Probleme, wenn ich den Eintrag einfach auf mail.meinedomain.de ändere?
Auch bekomme ich beim mxtoolboxcheck einen spf -Fehler:
Invalid syntax found
Habe aber alles wie von Stalmart vorgegeben im DNS hinterlegt…. Werd wohl nochmal alle Einträge löschen und neu hinzufügen…
Hallo zusammen,
vielen Dank erstmal an euch alle – insbesondere an psycho0verload! Ich habe alle Tipps und Typos hier im Thread brav eingebaut. Ergebnis ist ein laufender, eigener auf netcup gehosteter Mailserver. Aber es hakt noch. Meine Vermutung ist, dass es sich um einen Timeout-Problem handelt. Denn im Prinzip funktioniert Senden und Empfangen. Aber – bestimmte Test-Tools zeigen einen Fehler bei SMTP Kontaktaufnahme. Andere wiederum nicht. Jedenfalls habe ich viele Verbindungsabbrüche der folgenden Art im Log:
Zur besseren Testausgabe habe ich gnutls-cli installiert. Port 993 ist ok, aber für Port 25 sehe ich eine von gnutls-cli gemeldete TLS Unverträglichkeit.
Dieses (vermeintlich flasche) TLS Paket führt dann wohl zu einem Timeout, der dann bei folgendem Kommando offensichtlich wird, da es zu lange dauert.
Wie lange braucht ein solches openssl Kommando bei euch denn?
Ich bin jetzt (noch) nicht der begnadete Mailserver-Admin. Deshalb meine Frage: Wie würdet ihr jetzt vorgehen?
Vielen Dank schon mal!
Canislupus
Coole Anleitung. Hat alles geklappt, bis zu der Stelle, an der ich mich mit Thunderbird anmelden will. Da wird plötzlich mein Kennwort abgelehnt. (siehe
2TAP2B)
Gibt es da noch irgendeinen “Trick”, den man beachten sollte?
Ich melde mich an mit dem Benutzernamen und dem Passwort, dass ich im Stalwart unter Account->Authentication angegeben habe.
Als Domain habe ich die Domain ohne “mail.” davor angegeben. Und den rDNS des Servers habe ich schon vor einer Woche auf mail.meinedomain.de gesetzt. Auch die “published: port” Erweiterungen habe ich in der traefik.yml stehen und habe beide Systeme durchgestartet.
Hi, danke für die tolle Anleitung!
Ich musste in meinem Fall etwas bezüglich der IP-Adressen abändern, und habe nun folgendes Problem bei traefik:
Außerdem wollte stalwart die config.toml nicht akzeptieren, nach ein wenig Recherche bin ich zu dieser Lösung gekommen (meckert nicht mehr, weiß aber auch nicht, ob er das berücksichtigt)
Die IP vom traefik container ist die 172.18.0.2, der Mailserver hat die 172.18.0.25 bekommen. Mein traefik-netwerk heißt nicht proxy wie bei dir, sondern traefik_net.
Zur Vollständigkeit halber meine diversen IP-configurationen:
docker-compose für traefik:
unten dann:
traefik.yml (entrypoints)
Vielleicht eine Idee wo es hakt? Wäre dankbar um jegliche Hinweise. Ich frage mich, warum du die .254 und die .253 einträgst? Die .253 ist dein Server, ist die .254 dann dein Gateway?
Hier noch mein Traefik Network:
Herzlichen Dank für die Anleitung.
Bei mir funktioniert das Web-ui aber leider kann ich mich mit dem Server nicht verbinden. Das Erstellen des Accounts in Thunderbird schlägt fehl. Also habe ich versucht, mit telnet mit dem Server auf port 465 und 993 eine Verbindung aufzubauen, aber diese schlägt fehl (Connection refused). Ich habe die Firewall geprüft aber die ist in Ordnung. Ich frage mich, ob es wohl etwas mit traefik zu tun haben könnte.
Kann jemand weiterhelfen?
Hallo Christian,
vorab herzlichen Dank für diese Anleitung. Ich habe mir einen VPS eingerichtet, darauf laufen bereits traefik v2 und 3 inkl crowdsec, wordpress und borgmatic entsprechend eurer Anleitungen.
Bei der Einrichtung von stalwart erhalte ich in Schritt 5 den Fehler
Error response from daemon: invalid config for network ba6defe9268a868e7558e3f4785f759d0fa0f7dd9ade61202ceedd56d9edc433: invalid endpoint settings:
no configured subnet or ip-range contain the IP address 172.31.191.253
Hast Du eine Idee?
Die Anleitung funktioniert wunderbar. Ich habe mich noch nie mit mailservern beschäftigt und scheiter irgendwo. Ich mache den Check bei mxtoolbox und erhalte folgender Fehler
spf mail.de Invalid syntax found i
nformationStatus Problem http mail.de The remote name could not be resolved: 'mail.de' (http://mail.de) information Status Problem smtp webmail.mail.de Failed To Connect
Ich habe webmail.mail.de per A record auf meine server ip gesetzt.
Und dann die sämtlichen dns records hinzugefügt die stalwart ausgibt. Und dann noch port 25 465 und 993 geöffnet.
Wenn ich nun in Thunderbird den account hinzufügen will erkennt er auch die Einstellungen soweit wie in der Anleitung, aber er sagt dann benutzername und Passwort stimmen nicht über ein.
Was hab ich vergessen?
Achja vielen dank für die wunschlisten Anleitung.
Grüße