So hostest du deinen eigenen Mailserver - und es ist einfacher als du denkst | Mailcow

So hostest du deinen eigenen Mailserver - und es ist einfacher als du denkst | Mailcow

Übersicht

Einen eigenen Mailserver selbst zu betreiben klingt für viele erst mal nach viel Aufwand, ist es heute aber längst nicht mehr. Mit den richtigen Tools ist ein eigener Mailserver schneller aufgesetzt, als man denkt. In diesem Artikel (und im passenden Video) zeige ich dir Schritt für Schritt, wie du dir mit Mailcow deinen eigenen Mailserver aufbaust: sicher, modern und komplett unter deiner Kontrolle.

Wir fangen ganz vorne an, beim Server und der Domain und arbeiten uns dann durch die wichtigsten DNS-Einträge wie SPF, DKIM und DMARC, bis hin zur Installation von Docker und Mailcow selbst. Dabei geht es nicht nur darum, Dinge blind zu konfigurieren, sondern auch darum zu verstehen, warum bestimmte Einstellungen wichtig sind. So bist du später in der Lage, dein Setup selbst anzupassen oder zu erweitern.

Nach der Installation machen wir den Server fit für den Alltag: Wir kümmern uns um die Absicherung, legen die erste E-Mail-Domain und Postfächer an und schauen uns an, wie du Mailcow praktisch nutzt, vom Webmail im Browser über klassische Mail-Clients und Smartphones bis hin zu App-Passwörtern und eingeschränkten Protokollen für Services aus dem Homelab.

Egal, ob du deine eigene Domain professionell nutzen möchtest, dich unabhängiger von großen Mailanbietern machen willst oder einfach Spaß am Selfhosting hast, dieser Guide gibt dir alles an die Hand, um direkt loszulegen.

Das Video zum Artikel findest du hier: https://youtu.be/Oi4VOW_g0rM


Server & Domain

Damit wir das heutige Setup bauen können, brauchen wir einen Server, den wir von überall erreichen können. Am besten macht sich hier ein VPS bei einem beliebigen Hoster. Nach wie vor ist meine Empfehlung hier ganz klar Netcup, da ihr dort die günstigsten, aber zuverlässigen Server bekommt.

Netcup hat oft gute Angebote für Domains & Server. Regulär, abgesehen von Sonderangeboten, ist für Mailcow der VPS 1000 G11 eine super Wahl.

Außerdem benötigen wir eine Domain, worüber der Mailserver später erreichbar sein soll und wir E-Mails versenden und empfangen können. Auch hier habt ihr bei Netcup eine breite Auswahl an Top-Level-Domains.

Wenn ihr mich ein wenig unterstützen wollt, für zukünftige Videos und euch für einen Server bei Netcup entscheidet, bestellt diesen gerne über meinen untenstehenden Link bzw. verwendet den Gutscheincode.

  • 5€ Gutscheincode: 36nc17222595270
  • Günstige VPS-Server & Domains bei Netcup hier
    *Es handelt sich hierbei um einen Affiliate-Link

Natürlich könnt ihr auch einen Server & Domains von anderen Hostern problemlos verwenden.


DNS-Einträge

Für unseren Mailcow-Mail-Server brauchen wir einige DNS-Einträge. Gehen wir diese der Reihe nach einmal durch.

Reverse-DNS

Damit der Mailversand und -empfang später reibungslos funktioniert, müssen wir bei unserem Provider, wo wir den Server hosten, einen DNS-Reverse-Eintrag hinterlegen. Mit dem Eintrag kann die IP-Adresse zum Hostnamen aufgelöst werden.

Bei Netcup

Bei Netcup könnt ihr den Eintrag unter dem Reiter Netzwerk im Server Control Panel (SCP) vornehmen.

DNS

Kommen wir nun zu den bekannten DNS-Einträgen. Diese müssen beim Provider hinterlegt werden, wo ihr eure Domains verwaltet. Ich beziehe meine Domains, wie oben erwähnt, günstig über Netcup, verwalte diese dann aber über die Nameserver von Cloudflare, da diese sehr schnell Änderungen annehmen.

Mailcow gibt uns in der Dokumentation eine minimale DNS-Konfiguration vor, die wir umsetzen sollten.

Name Typ Wert
mail A 1.2.3.4 (IP eures Servers)
autodiscover CNAME mail.example.com (eure entsprechende Domain)
autoconfig CNAME mail.example.com
@ MX 10 mail.example.com

SPF, DKIM und DMARC

Die genannten Methoden zur E-Mail-Authentifizierung dienen zum Schutz unserer Domain vor Angreifern. Die Methoden verhindern, dass Angreifer im Namen unserer Domain bspw. bösartige E-Mails versenden können.

SPF: Mit einem SPF-Eintrag (Sender Policy Framework) geben wir die Mailserver an, von denen unsere Domain E-Mails versendet. Das kann die Gegenseite prüfen und erkennt so, wenn eine E-Mail mit unserem Absender nicht von einem unserer Mail-Server kommt.

DKIM: Mit dem DKIM-Eintrag (DomainKeys Identified Mail) können wir unsere E-Mails, die wir verschicken, quasi automatisch "signieren". Die Gegenseite kann somit überprüfen, ob die E-Mail wirklich von unserer Domain stammt.

DMARC: Mit dem DMARC-Eintrag (Domain-based Message Authentication Reporting and Conformance) legen wir fest, was beim Empfänger mit einer Mail von unserem Absender passiert, wenn der SPF- oder DKIM-Eintrag fehlerhaft ist.

Eine simple Konfiguration dafür findet ihr hier:

Name Typ Wert Ergebnis
@ TXT v=spf1 mx a -all Gibt an, dass die Domain nur über die Mailserver schickt, die als MX hinterlegt sind
dkim._domainkey TXT Generieren wir später in Mailcow Wir generieren hier einen DKIM-Key via Mailcow
_dmarc TXT v=DMARC1; p=reject; rua=mailto:report@example.com Der Eintrag sagt aus: Ungültige E-Mails bitte ablehnen und mir regelmäßig Berichte darüber schicken an die Mail report@example.com.

Mit noch fehlendem DKIM sollten eure DNS-Einträge dann bspw. so aussehen:

Installation

Betriebssystem

Wenn ihr einen VPS bei Netcup gewählt habt, werden diese per Default mit einem Debian ausgeliefert. Ich persönlich nutze lieber Ubuntu, das könnt ihr ganz einfach über das SCP als Image auswählen und so direkt weitere Konfigurationen wie den Hostnamen vornehmen.

Dafür geht ihr im SCP auf euren Server → Medien → oben rechts "Images"

Hier habt ihr jetzt eine Auswahl an verschiedenen Betriebssystemen und könnt bspw. die neueste verfügbare Ubuntu-Version auswählen.

Jetzt könnt ihr auf "Minimal Image" klicken, um weitere Einstellungen vorzunehmen.

Ich erstelle mir hier immer direkt einen weiteren Benutzer, mit dem ich das System später verwalte. Beispielsweise könnte es dann so aussehen:

Firewall

Während die Installation des neuen Betriebssystems läuft, können wir schon einmal die Firewall auf Mailcow anpassen. Bei Netcup gibt es seit Dezember 2025 nun auch integrierte Firewalls, die vor die Server geschaltet werden. Wir können im SCP ein Policy-Paket für Mailcow erstellen und unserem Mailcow-Server zuweisen.

Policy erstellen

Im SCP navigiere oben rechts zu Optionen.

Jetzt gibt es links den Reiter Firewall Policys

Dort angekommen, können wir rechts eine neue Policy hinzufügen.

Wir erstellen jetzt hier eine Policy für die eingehenden Ports, auf denen Mailcow erreichbar sein muss, und erlauben diese. Alle Ports aufgelistet findet ihr auch nochmal hier.

Zusätzlich zu der Liste müssen wir gezielt den UDP-Traffic nach innen erlauben, wenn wir die Netcup-Firewall verwenden. Die Firewall ist nur für TCP-Traffic stateful (merkt sich den ausgehenden Verkehr und gibt die Antworten automatisch frei), für UDP müssen wir eine Regel erstellen, damit der Traffic, den Unbound erzeugt, auch beantwortet werden kann bzw. die Antwort zurückkommt. Mehr Infos dazu hier

Fertig sieht unsere Policy dann so aus:

Policy hinterlegen

Die Policy ist jetzt im SCP und wir können sie an unseren Mailcow-Server anhängen. Dafür gehen wir in SCP zu unserem Mailcow-Server und dort links auf Firewall.

Hier angekommen, müssen wir die SMTP-Default-Policy entfernen, da der Server ja später via SMTP erreichbar sein soll.

Jetzt können wir unsere erstellte Policy mit anhängen.

Anschließend sollte unsere Firewall nun so aussehen:

Docker & Docker Compose

Als Erstes benötigen wir Docker & Docker Compose. Das installieren wir am einfachsten mit dem offiziellen Installations-Script von Docker.

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Systempakete

Damit die Einrichtungs-Scripts richtig funktionieren, benötigen wir einige Systempakete. Diese installieren wir komfortabel via apt

sudo apt update
sudo apt install -y git openssl curl gawk coreutils grep jq nano

Mailcow

Jetzt sind wir auch schon bei unserem heutigen Herzstück angekommen, wir installieren im nächsten Schritt Mailcow. Dafür geben wir folgende Befehle ein, um das Repository zu klonen, um dann mit der Einrichtung weiterzumachen. Die umfassende Dokumentation der Installationsschritte findet ihr hier.

sudo su
umask 0022
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

Als Nächstes generieren wir uns die Konfigurationsdatei.

./generate_config.sh

Wir müssen jetzt verschiedene Fragen beantworten, anhand derer die Konfigurationsdatei für uns angepasst wird.

Wir könnten jetzt noch manuelle Anpassungen an der Konfigurationsdatei vornehmen, allerdings ist diese in den meisten Fällen super, so wie sie ist. Falls ihr Sonderfälle habt, könnt ihr das mit dem Befehl nano mailcow.conf

Starten von Mailcow

Wir haben jetzt soweit alles auf dem Server eingerichtet und können nun Mailcow starten. Dafür laden wir uns zuerst alle nötigen Docker-Images herunter und starten dann die Container.

docker compose pull
docker compose up -d

Erster Login

Wenn alle Container gestartet sind, können wir zur Weboberfläche von Mailcow springen. Diese erreichen wir unter https://mail.example.com/admin.

Wir befinden uns jetzt auf der Admin-Seite und können uns mit den Default-Anmeldedaten anmelden.

Benutzername: admin

Passwort: moohoo

Einrichtung

Passwort ändern

Als Erstes sollten wir natürlich das Passwort für den Admin anpassen. Das können wir, wenn wir oben rechts auf System gehen und dort Konfiguration auswählen.

Nun gehen wir bei dem Benutzer admin auf Bearbeiten.

Hier vergeben wir nun ein neues Passwort.

Zwei-Faktor-Authentifizierung

Um unsere Mailcow-Instanz noch weiter abzusichern, sollten wir für den admin auch noch einen 2-Faktor hinterlegen. Dies können wir ebenfalls unter System → Konfiguration. Dort im Reiter Zwei-Faktor-Authentifizierung können wir dann eine beliebige Methode hinterlegen.


E-Mail-Domain hinterlegen

Mailcow läuft und wir können nun unsere erste Domain für den E-Mail-Versand hinterlegen. Dafür gehen wir oben auf den Reiter E-Mail → Konfiguration.

Hier klicken wir nun auf Domain hinzufügen.

In dem sich öffnenden Fenster geben wir ganz oben die Domain an und können bei Bedarf noch eine Beschreibung hinzufügen. Der Rest kann entweder so belassen werden oder nach Bedarf angepasst werden.

Damit im Anschluss alles funktioniert, wählen wir zum Speichern Domain hinzufügen und SOGo neustarten.

DKIM

Nach wie vor fehlt uns der DKIM-Schlüssel für unseren DNS-Eintrag. Dieser wurde beim Erstellen der Domain von Mailcow erzeugt und kann jetzt abgerufen werden. Dafür klicken wir bei der Domain auf DNS.

Es werden jetzt alle DNS-Einträge für die Domain geprüft und angezeigt, ob alles korrekt eingetragen wurde. Wir erhalten außerdem noch Vorschläge für zusätzliche optionale Einträge, diese sind mit einer 2 gekennzeichnet.

Ganz unten befindet sich unser DKIM-Eintrag, den wir so übernehmen können.

Bei unserem Provider in den DNS-Einstellungen kann das dann bspw. so aussehen.

Postfach erstellen

Da wir nun unsere Domain hinterlegt haben, können wir jetzt für diese Domain beliebige Postfächer erstellen. Dafür navigieren wir zu dem Reiter Mailboxen und klicken auf Mailbox hinzufügen.

In dem geöffneten Fenster kann jetzt das erste Postfach angelegt werden. Wichtig ist hier der Benutzername, dieser bildet den vorderen Teil der E-Mail-Adresse. Vor- und Nachname beinhaltet den angezeigten Namen beim Empfänger.

Natürlich ist das Hinterlegen eines sicheren Passworts ebenfalls nötig.

Der Rest ist wieder optional nach Bedarf. Mit Klick auf Hinzufügen wird das Postfach erstellt und ist einsatzbereit.


Verwendung eines Postfachs

Anmelden via Admin

Ihr seid aktuell als Admin angemeldet und könnt euch daher an jedem Postfach authentifizieren. Wir sehen nun im Reiter Mailboxen unsere neu erstellte Mailbox, rechts davon gibt es einen Button mit Login.

Wenn wir darauf klicken, sind wir nun als Kontext des Benutzers in der Mailcow UI. Hier können wir nun Einstellungen für den Benutzer vornehmen, wie bspw. das Hinterlegen eines 2-Faktors, was ich euch hier ebenfalls empfehlen würde.

Zu den E-Mails kommen wir mit dieser Methode allerdings nicht.

Anmelden via Webbrowser

Um auf unser Postfach und die E-Mails zuzugreifen, können wir einen beliebigen Mail-Client verwenden oder eben den normalen Webbrowser. Gehen wir auf die Domain unserer Mailcow-Instanz und melden uns dort mit dem Postfachbenutzer an, werden wir zu einem Webclient weitergeleitet.

Wichtig ist, dass wir hier bei /user sind.

Wir können jetzt hier unsere E-Mails einsehen oder auch neue E-Mails verfassen. Wollen wir zu den Mailcow UI Einstellungen, gehen wir oben rechts auf den Schraubenschlüssel.

Anschließend landen wir wieder auf der Konfigurationsseite für unseren Benutzer.

Anmelden an E-Mail Clients & Apps

Kommen wir zu einem sehr coolen Feature von Mailcow. Natürlich möchten wir unsere E-Mails von überall empfangen, also benötigen wir unseren Account natürlich auch auf unserem Smartphone und weiteren Geräten.

Auf unserer Einstellungsseite finden wir dafür verschiedene Anweisungen, wie wir das machen können. Solltet ihr ein iPhone nutzen, könnt ihr euer Postfach & Kalender bequem per Konfigurationsprofil hinzufügen. Dafür geht ihr mit eurem iPhone auf die Seite und ladet euch das passende Profil hier herunter. In den Einstellungen könnt ihr das dann installieren.

Für alle weiteren Clients findet ihr hier entsprechende Anweisungen zum Hinzufügen eures Postfachs.

Erweiterte Funktionen

Protokolle verwalten

Wir haben die Möglichkeit, für jedes Postfach individuell festzulegen, welche Protokolle dafür zur Verfügung stehen (IMAP, POP, SMTP…). Ich persönlich nutze Mailcow auch gerne für meine Homelab-Services, die SMTP für den Mail-Versand anbieten.

Um den Angriffsvektor möglichst gering zu halten, nutze ich für diese Postfächer bspw. nur SMTP als Protokoll.

App-Passwörter

Wenn wir bei dem oben genannten Szenario bleiben, den Homelab-Services, können wir das Ganze noch weiter beschränken mithilfe von App-Passwörtern.

Diese geben uns die Möglichkeit, ein gezieltes autarkes Passwort für bestimmte Protokolle zu erstellen.

So haben wir bspw. die Möglichkeit, ein Postfach für einen Service anzulegen, bei dem wir alle Protokolle ablehnen. Anschließend können wir dann ein App-Passwort nur für SMTP erstellen.

Sollte jetzt das Passwort geleakt werden, müssen wir dies nur austauschen und es kann nur verwendet werden, um via SMTP Mails zu versenden.

Fazit

Mit Mailcow bekommst du eine leistungsstarke, übersichtliche und gleichzeitig sehr flexible Mailserver-Lösung, die sich sowohl für Einsteiger als auch für fortgeschrittene Selfhoster eignet. Dank Docker ist das Setup sauber gekapselt, gut wartbar und jederzeit erweiterbar, ohne dass du dich durch endlose Einzelkonfigurationen kämpfen musst.

Besonders stark ist die Kombination aus Sicherheit und Komfort: SPF, DKIM, DMARC, Zwei-Faktor-Authentifizierung, App-Passwörter und granulare Protokollfreigaben lassen sich direkt über die Oberfläche verwalten, ohne Frickelei auf der Kommandozeile. Gleichzeitig funktioniert der Zugriff per Webmail, Smartphone und klassischen Mail-Clients absolut reibungslos.

Wenn du bereit bist, ein kleines Stück Verantwortung zu übernehmen, wirst du mit voller Datenhoheit, besserer Nachvollziehbarkeit und maximaler Flexibilität belohnt. Für mich ist Mailcow seit Langem die erste Wahl, sowohl für produktive Domains als auch für Homelab-Services.

Im Video gehe ich alle Schritte vollständig und live durch, von der ersten Server-Auswahl bis zum fertigen, einsatzbereiten Postfach. Dabei zeige ich nicht nur den idealen Ablauf, sondern auch typische Stolperfallen aus der Praxis und worauf du achten solltest, damit später alles reibungslos funktioniert.

Viel Spaß beim Nachbauen und willkommen in der Welt der selbst gehosteten E-Mails.