Vom frischen Host zum produktiven Mailserver in 8 Schritten
Ein Mailserver hängt stärker an seinem Netzwerk als an seiner Hardware: Ist Port 25 gesperrt oder fehlt der Reverse-DNS-Eintrag (PTR), kommt keine E-Mail an. Dieses Handbuch führt dich in der richtigen Reihenfolge von der Vorab-Prüfung über Installation, Dual-Key-DKIM, TLS und Smartphone-Onboarding bis zur ersten verifizierten Zustellung.
Wie nextxch startet und zur Produktionsreife gelangt
nextxch bündelt ESMTP, IMAP4rev2, JMAP, Exchange ActiveSync, CalDAV/CardDAV, ManageSieve, den SpamGuard-Filter, das GoBD-WORM-Archiv, das Admin-Cockpit (/admin/) und die nextxch Webmail-PWA (/mail/) in einer einzigen speichersicheren Binärdatei (~40 bis 90 MB Leerlauf-RAM). Es werden beim ersten Start weder Web-Oberflächen von GitHub nachgeladen noch externe Zusatzdienste wie NSSM, Redis, Rspamd oder Roundcube benötigt.
System- & Netzwerk-Voraussetzungen (Vorab-Checkliste)
Hake diese 6 Bedingungen vor der Installation ab. Vier davon liegen außerhalb des Mailservers im Kundencenter deines Hosters oder DNS-Anbieters.
| Port | Protokoll / Dienst | Richtung | Status & Empfehlung |
|---|---|---|---|
25 / TCP | ESMTP (MX Server-zu-Server + STARTTLS/DANE) | Ein & Aus | Pflicht - Ohne Port 25 kein Mailaustausch mit externen Providern. |
443 / TCP | HTTPS (/admin/, /mail/, JMAP, ActiveSync, DAV, MTA-STS) | Ein (+ Aus) | Pflicht - Bedient Webmail, Cockpit, Mobile-Push & ACME TLS-ALPN-01. |
465 / TCP | SMTPS Submission (Implicit TLS, RFC 8314) | Eingehend | Pflicht - Bevorzugter verschlüsselter Versandport für Apple, Android & Thunderbird. |
587 / TCP | SMTP Submission (STARTTLS) | Eingehend | Pflicht - Kompatibilität für klassische Outlook-Clients, Scanner & ERP-Systeme. |
993 / TCP | IMAPS (IMAP4rev2 Implicit TLS) | Eingehend | Pflicht - Echtzeit-IDLE-Postfachzugriff für Desktop- und Mobil-Clients. |
80 / TCP | HTTP (ACME HTTP-01 & Autoconfig) | Eingehend | Empfohlen (entfällt bei TLS-ALPN-01 auf Port 443 oder Gateway-Zertifikat). |
4190 / TCP | ManageSieve (STARTTLS) | Eingehend | Optional (im Webmail funktioniert der Regel-Editor auch direkt über Port 443). |
143 / TCP | IMAP (STARTTLS) | Eingehend | Optional (Standard ist Port 993 mit sofortigem Implicit TLS). |
| Ausbaustufe | CPU | RAM | Speicher & Datenbank-Empfehlung |
|---|---|---|---|
| 1 bis 250 Postfächer | 2 vCPU | 1 - 2 GB | NVMe/SSD · Eingebettetes SQLite WAL + Zstandard-Kompression (~40-90 MB Server-RAM). |
| 250 bis 2.500 Postfächer | 4 vCPU | 4 - 8 GB | NVMe + optional S3 Hybrid · PostgreSQL 18 oder Microsoft SQL Server (2019-2025). |
| 2.500+ Cluster | 8+ vCPU | 16+ GB | Active-Active über PostgreSQL 18 oder SQL Server Always On + S3 Object Lock (WORM). |
Plattform & Datenbank passend zur Infrastruktur wählen
Alle Bereitstellungsarten enthalten denselben Funktionsumfang. Der Unterschied liegt ausschließlich darin, wie das Betriebssystem den Dienst startet und aktualisiert.
| Plattform | Methode | Wann ist das die beste Wahl? |
|---|---|---|
| Windows Server 2019-2025 | .msi / install.ps1 | Echter Windows-Dienst (SCM) ohne Docker & ohne NSSM; ideal bei bestehendem AD/Entra ID, Microsoft SQL Server oder hMailServer-Ablösung. |
| Linux (x86_64 & ARM64) | install.sh · .deb · systemd | Schlanker unprivilegierter systemd-Dienst auf Debian 12/13, Ubuntu 24.04 LTS, RHEL/Rocky oder Raspberry Pi 5. |
| Docker Compose | nextxch/server:1.3.1 | Reproduzierbare Container-Stacks auf Linux-VPS, Proxmox-VMs, Synology, UGREEN oder Unraid. |
| macOS & Kubernetes | launchd / Helm v3 | Mac mini Server im Büro (launchd) bzw. horizontal skalierende K8s-Cluster ohne Redis/Kafka. |
Das 8-Schritte-Tutorial: Installation bis zur ersten Test-Mail
Wähle deine Zielplattform. Alle 8 Schritte zeigen dir den exakten Befehl, das erwartete Ergebnis zur sofortigen Kontrolle und den häufigsten Stolperstein genau an dieser Stelle.
Paket installieren & Firewall-Ports öffnen
Lädt das Release-Paket herunter, verifiziert die kryptografische SHA-256-Prüfsumme und richtet den Hintergrunddienst samt Datenverzeichnis ein.
# PowerShell (Admin): Lädt .msi (v1.3.1), prüft SHA-256 & startet Setup irm https://nextxch.com/install.ps1 | iex # Windows-Firewall für eingehende Mail- & HTTPS-Ports öffnen New-NetFirewallRule -DisplayName "nextxch" -Direction Inbound ` -Protocol TCP -LocalPort 25,80,443,465,587,993,4190 -Action Allow
# Debian / Ubuntu / RHEL / macOS: Prüft SHA-256 & registriert systemd-Dienst curl -fsSL https://nextxch.com/install.sh | sudo bash # Falls UFW aktiv ist, benötigte Mail- & HTTPS-Ports freigeben: sudo ufw allow 25,80,443,465,587,993,4190/tcp
# Zieht geprüftes Image nextxch/server:1.3.1 & erstellt docker-compose.yml curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- \ --mode docker --domain firma.de --hostname mail.firma.de --admin admin@firma.de
Dienststatus prüfen & im Admin-Cockpit (/admin/) anmelden
Prüfe kurz das Startprotokoll und melde dich mit dem beim Setup gewählten Administrator-Konto im Web-Cockpit an.
Get-Service nextxch # Im Browser öffnen: https://mail.firma.de/admin/ (oder http://localhost/admin/)
sudo systemctl status nextxch sudo journalctl -u nextxch -n 30 --no-pager # Im Browser öffnen: https://mail.firma.de/admin/
docker compose ps docker compose logs --tail=30 nextxch # Im Browser öffnen: https://mail.firma.de/admin/
Mail-Domain & parallele Dual-DKIM-Schlüssel prüfen
Öffne in /admin/ den Bereich Domains & Routing -> Domain verwalten. nextxch hat für deine Domain automatisch zwei kryptografische DKIM-Schlüsselpaare erzeugt: RSA-2048 (Selektor s2026 für 100 % Legacy-Kompatibilität) und Ed25519 (Selektor s2026ed nach RFC 8463).
TLS-Zertifikat aktivieren (ACME Let's Encrypt oder Gateway-PFX)
Wechsle zu Sicherheit & Zertifikate -> TLS & ACME. Sobald der A/AAAA-Record für mail.firma.de auf deinen Server zeigt, stellt Let's Encrypt (HTTP-01 oder TLS-ALPN-01 über Port 443) dein Zertifikat aus. Hinter einer pfSense/OPNsense mit Wildcard-Zertifikat lädst du alternativ die .pfx/.pem hoch.
DNS-Einträge veröffentlichen & Live-DNS-Prüfung ausführen
Kopiere im DNS-Advisor deines Admin-Cockpits die exakt berechneten Einträge (oder exportiere die fertige BIND-Zonendatei): MX, A/AAAA, SPF (v=spf1 mx -all), beide DKIM-Keys (s2026._domainkey + s2026ed._domainkey), DMARC (_dmarc), MTA-STS, TLS-RPT sowie optional DANE TLSA (3 1 1 SPKI) und BIMI.
Server für den Produktivbetrieb absichern
Aktiviere für dein Admin-Konto einen Passkey (WebAuthn/YubiKey) oder TOTP-2FA, belasse SpamGuard auf den bewährten Standards (Junk 4.5 / Reject 9.0 / Smart Greylisting aktiv) und schalte bei steuerrelevanten Geschäftspostfächern im Domain-Inspektor das GoBD-WORM-Archiv ein.
Erstes Postfach anlegen & Smartphone per QR / WhatsApp verbinden
Lege unter Konten & Verteiler dein erstes Benutzerkonto an. Teste den Login direkt in der integrierten Webmail-PWA unter https://mail.firma.de/mail/ und klicke im Admin beim Benutzer auf 'Smartphone einrichten', um einen QR-Code oder WhatsApp-tauglichen 1-Klick-Einladungslink mit CMS-signiertem Apple-Profil bzw. Exchange ActiveSync zu erzeugen.
Ein- & ausgehende Zustellung mit Live-MX-Tester & Message Trace bestätigen
Öffne Diagnose & Logs -> Outbound-MX- & DANE-Tester und prüfe z. B. gmail.com oder deine eigene Zweitadresse. Sende anschließend aus /mail/ eine echte Nachricht nach außen und antworte darauf zurück.
Betrieb hinter pfSense / OPNsense, SSL-Gateways & Reverse Proxies
Läuft nextxch im eigenen Rechenzentrum oder Firmennetz hinter einer pfSense, OPNsense, Sophos oder HAProxy, sind drei Punkte für saubere Diagnose und korrekte SPF-/IP-Prüfungen entscheidend:
| Thema | Empfohlene Einstellung |
|---|---|
| Split-DNS / Hairpin-NAT | Liegen Webserver und Mailserver hinter derselben WAN-IP, verwirft die Firewall interne Pakete an die eigene öffentliche IP ohne NAT-Reflection. Lege im DNS-Resolver (Unbound) einen Host-Override für mail.firma.de auf die interne LAN-IP an oder aktiviere Pure NAT Reflection. |
| HAProxy PROXY Protocol | Leitet ein L4-Load-Balancer Port 25/465/587/993 weiter, aktiviere das PROXY-Protokoll nur für die vertrauenswürdige Gateway-IP, damit SPF, DMARC und Auto-Ban die echte externe Absender-IP sehen. |
| Gateway-Zertifikat | Terminiert dein Gateway bereits Port 80/443 für mehrere Webserver, exportiere das ausgestellte Zertifikat als .pfx/.pem auf den Mailserver (für Port 25 STARTTLS, 465, 587 & 993) - Dynamic SNI lädt aktualisierte Zertifikatsdateien im Betrieb ohne Neustart nach. |
Fehlersuche nach Symptom (Vom Fehlerbild direkt zur Lösung)
Wenn während der Einrichtung etwas nicht sofort klappt, klicke auf das beobachtete Symptom oder tippe den Fehlertext oben in den Schnellfilter ein:
Externer Port-Checker meldet 'Blocked / Timeout', obwohl der Dienst läuft
TCP 25 / 465 / 993 Timeout
Dienst startet nicht oder ein Port lässt sich nicht binden
Address already in use (:25 / :80 / :443)
Ausgehende E-Mails an Gmail, Microsoft 365 oder T-Online werden abgelehnt
550-5.7.25 / 550-5.7.1 PTR missing
Live-DNS-Prüfer findet den angelegten DKIM- oder DMARC-TXT-Eintrag nicht
NXDOMAIN s2026._domainkey
Let's Encrypt ACME stellt kein Zertifikat aus oder Browser zeigt Zertifikatswarnung
ACME challenge failed
iPhone öffnet den per WhatsApp / Teams gesendeten Link, startet aber die Profil-Installation nicht sofort
iOS In-App WebView
Docker-Container startet neu oder kann nicht in das gemountete Verzeichnis schreiben
Access to path '/var/lib/nextxch' denied
Mail-Client (Outlook, Thunderbird, Apple Mail) meldet Anmeldung fehlgeschlagen
535 Authentication failed / TLS required
Nächste Schritte: Updates in 10 Sekunden, Backup & Umzug
Sobald die erste Test-E-Mail erfolgreich ein- und ausgegangen ist, ist dein Server produktionsbereit. Für den laufenden Betrieb brauchst du nur noch diese drei Handgriffe:
# 1) In-Place-Update (Konfiguration, Zertifikate & Postfächer bleiben erhalten): # Linux / macOS: curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update # Windows PowerShell (Administrator): irm https://nextxch.com/install.ps1 | iex # 2) Backup-Umfang (nur 2 Pfade): # - Konfiguration: appsettings.Production.json (inkl. Lizenz-Token) # - Nutzdaten: Storage:DataDirectory (SQLite WAL / Blobs / TLS-Zertifikate) # bzw. pg_dump / SQL-Server-Backup bei externem Datenbank-Cluster
Häufige Fragen vor dem ersten Start
Braucht nextxch unter Windows NSSM oder Docker Desktop?
Nein. Im Gegensatz zu vielen Linux-zentrierten Mailservern bringt nextxch eine echte Windows-Service-Integration (Service Control Manager) samt offiziellem .msi-Assistenten mit. Weder NSSM-Wrapper noch Docker Desktop, WSL2 oder Hyper-V werden benötigt.
Lädt nextxch beim ersten Start Dateien von GitHub oder aus dem Internet nach?
Nein. Das komplette Admin-Cockpit (/admin/), die Webmail-PWA (/mail/), der SpamGuard-Klassifikator und alle Protokoll-Engines sind vollständig im geprüften Release-Paket enthalten. Der Server startet auch in abgeschotteten Behörden- und Unternehmensnetzen sofort.
Warum ist der Reverse-DNS-Eintrag (PTR) vor dem ersten Mailversand so entscheidend?
Große Empfänger wie Gmail, Microsoft 365, GMX/WEB.DE und T-Online prüfen bei jeder eingehenden Verbindung auf Port 25, ob die öffentliche IPv4- und IPv6-Adresse per PTR exakt auf den EHLO-Hostnamen (z. B. mail.firma.de) zurückauflöst. Fehlt der PTR vor allem bei aktivem Dual-Stack-IPv6, werden ausgehende Nachrichten mit 550-5.7.25 abgewiesen.
Wie aktualisiere ich eine bestehende Installation später auf eine neue Version?
Unter Linux/macOS genügt curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update, unter Windows irm https://nextxch.com/install.ps1 | iex (oder direkt im Admin-Cockpit per 1-Klick-Updater). Konfiguration, TLS-Zertifikate, DKIM-Schlüssel und Postfachdaten bleiben unberührt.