Mail-Server einrichten: Schritt für Schritt zum eigenen E-Mail-Server
Ein eigener Mail-Server für die maximale Kontrolle über Ihren digitalen Nachrichtenverkehr ist in wenigen Schritten eingerichtet. Besonders beliebt: Die Einrichtung via Docker, beispielsweise mit dem einsatzfertigen Stack „Docker Mailserver“. Welche Voraussetzungen sind zu erfüllen? Und wie lässt sich ein Mail-Server genau einrichten?
Richten Sie mit IONOS im Handumdrehen Ihren eigenen professionellen E-Mail-Server ein. Sie profitieren von zahlreichen Vorteilen wie großem und erweiterbarem Speicherplatz, Ihrer eigenen Domain, automatischer Verschlüsselung, Kalender- und Office-Funktionen oder E-Mail-Archivierung. IONOS bietet Ihnen höchste Sicherheitsstandards in ISO-zertifizierten europäischen Rechenzentren.
Eigener Mail-Server: Welche Hardware wird benötigt?
Um einen eigenen Mail-Server betreiben zu können, benötigen Sie zunächst die passende Hardware. In welchen Dimensionen sich die erforderliche Leistung zu bewegen hat, hängt dabei von verschiedensten Faktoren ab: Unter anderem ist entscheidend, wie viele Nachrichten pro Tag versendet werden und wie viele Personen in welchen Intervallen vom dem Server Gebrauch machen. Auch die durchschnittliche Größe der ausgetauschten Nachrichten ist relevant. Weitere Leistung ist für zusätzliche Dienste wie ein Backup-System oder Inhaltsscanner (Schutz vor Spam, Phishing etc.) einzuplanen. In jedem Fall benötigen Sie außerdem eine statische IP-Adresse, um die reibungslose Interaktion mit anderen Mail-Servern zu gewährleisten.
Bei der Suche nach einer geeigneten Umgebung für die Einrichtung Ihres Mail-Servers spielt es also eine entscheidende Rolle, welche Kapazitäten abgedeckt werden sollen. Für lediglich eine Handvoll Mails am Tag reicht ein einfaches Start-Setup, während ein stark genutzter Mail-Server im Business-Sektor einiges an RAM, CPU und Speicherplatz bereithalten sollte.
Ob Windows oder Linux: Vergessen Sie nicht, Ressourcen für das zugrundeliegende Betriebssystem einzuplanen.
Wir haben drei exemplarische Mail-Server-Szenarien zusammengefasst und jeweils passende IONOS-Server-Tarife zugeordnet.
Mail-Server-Szenario | Hardware | Passender IONOS-Tarif |
Einfacher Heim-Server mit wenig Traffic | 2 vCores, 4 GB RAM, 60 GB Festplattenspeicher | VPS L |
Mail-Server für ein kleines Unternehmen mit bis zu 1.000 täglichen Mails | 4 vCores, 8 GB RAM, 100 GB Festplattenspeicher | VPS XL |
Enterprise-Mail-Server mit über 50.000 täglichen Mails | 8 vCores, 16 GB RAM, 500 GB Festplattenspeicher | AR6-32 SSD |
Bei einem Dedicated Server von IONOS erhalten Sie Zugriff auf Enterprise-Hardware, die ausschließlich für Sie reserviert ist. Demgegenüber stehen die beiden Modelle „vServer“ und „Cloud Server“, die auf virtualisierten Ressourcen fußen, die Sie sich mit anderen Kunden – ohne Performance-Einbußen – teilen.
Schritt-für-Schritt-Tutorial: Mail-Server einrichten mit Docker
Wer einen Mail-Server einrichten möchte, hat hierfür verschiedene Optionen. Im nachfolgenden Tutorial haben wir uns beispielsweise für einen Server auf Basis des Docker-Containers „docker-mailserver“ entschieden. Der schlanke Open-Source-Container (MIT-Lizenz) liefert einen einsatzfertigen Stack für das Aufsetzen eines eigenen E-Mail-Servers: Alle wichtigen Komponenten wie ein SMTP-Server, IMAP- bzw. POP3-Server, Antispam- und Antivirus-Software oder ein LDAP-Verzeichnisdienst sind enthalten.
Wenn Sie mit einem Docker-Image wie „docker-mailserver“ arbeiten wollen, müssen Sie die Container-Plattform zunächst installieren. Nähere Informationen hierzu finden Sie in unserem großen Docker-Tutorial.
Lesen Sie in den nachfolgenden Abschnitten, wie die Mail-Server-Einrichtung mit „docker-mailserver“ genau funktioniert.
Schritt 1: Docker-Image beziehen
Das neueste Image von „docker-mailserver“ erhalten Sie u. a. im offiziellen Verzeichnis des Stacks auf dockerHub oder über das offizielle GitHub-Repository der Tool-Sammlung.
Entscheiden Sie sich für das dockerHub-Verzeichnis, beziehen Sie das Image mit folgender Kommandozeilen-Eingabe:
docker pull mailserver/docker-mailserver
Für die Installation aus dem GitHub-Verzeichnis heraus geben Sie folgenden Befehl ein:
docker pull ghcr.io/docker-mailserver/docker-mailserver:edge
Schritt 2: docker-compose.yml konfigurieren
Im nächsten Schritt gilt es, den „docker-mailserver“-Container für den Start vorzubereiten. Hierfür erstellen wir ein Verzeichnis für den einzurichtenden Mail-Server, beispielsweise „mail-server-docker“. Anschließend erstellen wir in diesem Verzeichnis eine neue YAML-Datei mit dem Namen docker-compose.yml und fügen folgenden Inhalt für eine grundlegende Konfiguration des Mail-Servers ein:
version: '3.8'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail-server
# example.com ist auszutauschen durch die eigene Domain für den Mail-Server:
domainname: example.com
ports:
- "25:25"
- "587:587"
- "465:465"
volumes:
- ./docker-data/dms/mail-data/:/var/mail/
- ./docker-data/dms/mail-state/:/var/mail-state/
- ./docker-data/dms/mail-logs/:/var/log/mail/
- ./docker-data/dms/config/:/tmp/docker-mailserver/
# Pfad ist entsprechend anzupassen:
- ./docker-data/nginx-proxy/certs/:/etc/letsencrypt/
- /etc/localtime:/etc/localtime:ro
environment:
- ENABLE_FAIL2BAN=1
# Insofern letsencrypt für SSL/TLS-Zertifikate genutzt wird (andernfalls anzupassen)
- SSL_TYPE=letsencrypt
- PERMIT_DOCKER=network
- ONE_DIR=1
- ENABLE_POSTGREY=0
- ENABLE_CLAMAV=0
- ENABLE_SPAMASSASSIN=0
- SPOOF_PROTECTION=0
cap_add:
- NET_ADMIN # For Fail2Ban to work
- SYS_PTRACE
Eine ausführliche Auflistung der möglichen Einstellungen für die Einrichtung des Mail-Servers finden Sie in den offiziellen Online-Manuals von docker-mailserver auf GitHub.
Schritt 3: Ports freigeben
In der YAML-Datei sind u. a. die drei Ports 25, 465 und 587 eingetragen. Dabei handelt es sich um die klassischen SMTP-Server-Ports, die Sie für einen reibungslosen Ablauf außerdem in den Firewall-Einstellungen Ihres Servers freigeben müssen. Wie genau hierbei vorzugehen ist, hängt von System und Provider ab – IONOS-Kunden (vServer, Cloud Server, Dedicated Server) können die Port-Freigabe beispielsweise bequem über das Cloud Panel erledigen. Die erforderlichen Schritte sehen folgendermaßen aus:
- Melden Sie sich mit Ihren persönlichen Kundendaten auf der Login-Seite des Cloud Panels an.
- Rufen Sie die Rubrik „Server & Cloud“ auf.
- Wählen Sie die gemietete Server-Hardware aus, auf der Sie Ihren Mail-Server einrichten wollen.
- Klicken Sie im linken Seitenmenü auf „Netzwerk“ und danach auf „Firewall-Richtlinien“.
- Fügen Sie nacheinander die drei TCP-Ports „25“, „465“ und „587“ per „Regel hinzufügen“ hinzu.
Schritt 4: Hostname in DNS-Einstellungen übernehmen
Im nächsten Schritt müssen Sie dafür Sorge tragen, dass der DNS-Service Ihres Servers einen MX-Eintrag für den in Schritt 2 konfigurierten Hostnamen (hier: „mail-server“) verwendet. Zudem ist ein SPF-TXT-Eintrag mit dem Hostnamen und dem Wert „v=spf1 mx ~all“ hinzuzufügen.
Diese DNS-Einstellungen für Ihren Server können Sie als IONOS-Kunde ebenfalls über das Cloud Panel in die Wege leiten, indem Sie folgendermaßen vorgehen:
- Melden Sie sich erneut auf der Login-Seite des Cloud Panels an, sofern Sie dort nicht mehr angemeldet sind.
- Klicken Sie auf den Eintrag „Domains & SSL“.
- Drücken Sie auf das Zahnrad-Icon beim Eintrag der Domain, auf der Sie Ihren Mail-Server einrichten, und wählen Sie den Punkt „DNS“ aus.
- Über die Schaltfläche „Record hinzufügen“ können Sie nun die beiden Einträge für MX und SPF-TXT hinzufügen.
Abschließend gilt es, die Änderungen zu übernehmen, indem Sie im oberen Menü auf „Domain zurücksetzen“ drücken. Bestätigen Sie die vorgenommenen Anpassungen und klicken Sie auf „Jetzt zurücksetzen“.
Sie wollen Ihre elektronischen Nachrichten rechtssicher und GoBD-konform aufbewahren? Nutzen Sie die E-Mail-Archivierung von IONOS, um ausgewählte Postfächer manipulations- und rechtssicher zu archivieren!
Schritt 5: DKIM-Keys generieren
Um den Sicherheitsgrad Ihres Mail-Servers zu erhöhen, erzeugen Sie nun einen DKIM-Eintrag für Ihre Domain. Mithilfe dieser Verschlüsselungstechnik lassen sich Nachrichten später digital signieren. Für die Generierung des Schlüsselpaares nutzen Sie die Skriptdatei setup.sh, die sich im Verzeichnis von docker-mailserver befindet. Führen Sie dort folgenden Befehl aus:
./setup.sh config dkim
Den erzeugten Eintrag – zu finden Sie in der Datei docker-data/dms/config/opendkim/keys/example.com/mail.txt – fügen Sie den DNS-Records als weiteren TXT-Eintrag hinzu, damit empfangende Mailserver den öffentlichen Schlüssel abrufen können. Der Output sieht in etwa folgendermaßen aus:
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFACAQ8AMIIBCgKCAQEAaH5KuPYPSF3Ppkt466BDMAFGOA4mgqn4oPjZ5BbFlYA9l5jU3bgzRj3l6/Q1n5a9lQs5fNZ7A/HtY0aMvs3nGE4oi+LTejt1jblMhV/OfJyRCunQBIGp0s8G9kIUBzyKJpDayk2+KJSJt/lxL9Iiy0DE5hIv62ZPP6AaTdHBAsJosLFeAzuLFHQ6USyQRojefqFQtgYqWQ2JiZQ3"
"iqq3bD/BVlwKRp5gH6TEYEmx8EBJUuDxrJhkWRUk2VDl1fqhVBy8A9O7Ah+85nMrlOHIFsTaYo9o6+cDJ6t1i6G1gu+bZD0d3/3bqGLPBQV9LyEL1Rona5V7TJBGg099NQkTz1IwIDAQAB" ) ; ----- DKIM key mail for example.com
Ebenso wichtig wie DKIM-Einträge ist die Verschlüsselung der Mail-Kommunikation per SSL/TLS. Die Entwickler von docker-mailserver empfehlen für die Aktivierung den Einsatz von letsencrypt – Sie können aber natürlich auch eigene, bereits erworbene Zertifikate verwenden. Eine ausführliche Anleitung für die Einrichtung finden Sie in der offiziellen GitHub-Dokumentation des Mailservers.
Schritt 6: Server starten und erste Adresse erstellen
Starten Sie den eingerichteten Mailserver direkt aus dem Verzeichnis mit dem folgenden Befehl:
docker-compose up
Innerhalb von zwei Minuten gilt es jetzt, eine erste E-Mail-Adresse einzurichten. Nutzen Sie hierfür das folgende Kommando, wobei die Domain sowie Benutzername und Passwort entsprechend anzupassen sind:
./setup.sh email add user@domain password
Mithilfe des Befehls können Sie nun jederzeit weitere Profile anlegen, um Ihren Mail-Server ganz nach Ihren Vorstellungen einzurichten.
- Personalisierte E-Mail-Adresse
- Zugriff auf E-Mails immer und überall
- Höchste Sicherheitsstandards