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 Sie 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, POP3, 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)
Haken Sie diese 6 Bedingungen vor der Installation ab. Vier davon liegen außerhalb des Mailservers im Kundencenter Ihres 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). |
995 / TCP | POP3S (Implicit TLS) | Eingehend | Optional (nur wenn POP3 unter Admin > Netzwerk aktiviert ist; standardmäßig aus). |
110 / TCP | POP3 (STLS) | Eingehend | Optional (bevorzugt Port 995 mit 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.0.0 | 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ählen Sie Ihre Zielplattform. Alle 8 Schritte zeigen Ihnen 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.0.0), 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.0.0 & 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üfen Sie kurz das Startprotokoll und melden Sie sich 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
Öffnen Sie in /admin/ den Bereich Domains & Routing -> Domain verwalten. nextxch hat für Ihre 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)
Wechseln Sie zu Sicherheit & Zertifikate -> TLS & ACME. Sobald der A/AAAA-Record für mail.firma.de auf Ihren Server zeigt, stellt Let's Encrypt (HTTP-01 oder TLS-ALPN-01 über Port 443) Ihr Zertifikat aus. Hinter einer pfSense/OPNsense mit Wildcard-Zertifikat laden Sie alternativ die .pfx/.pem hoch.
DNS-Einträge veröffentlichen & Live-DNS-Prüfung ausführen
Kopieren Sie im DNS-Advisor Ihres Admin-Cockpits die exakt berechneten Einträge (oder exportieren Sie 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
Aktivieren Sie für Ihr Admin-Konto einen Passkey (WebAuthn/YubiKey) oder TOTP-2FA, belassen Sie SpamGuard auf den bewährten Standards (Junk 4.5 / Reject 9.0 / Smart Greylisting aktiv) und schalten Sie bei steuerrelevanten Geschäftspostfächern im Domain-Inspektor das GoBD-WORM-Archiv ein.
Erstes Postfach anlegen & Smartphone per QR / WhatsApp verbinden
Legen Sie unter Konten & Verteiler Ihr erstes Benutzerkonto an. Testen Sie den Login direkt in der integrierten Webmail-PWA unter https://mail.firma.de/mail/ und klicken Sie 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
Öffnen Sie Diagnose & Logs -> Outbound-MX- & DANE-Tester und prüfen Sie z. B. gmail.com oder Ihre eigene Zweitadresse. Senden Sie anschließend aus /mail/ eine echte Nachricht nach außen und antworten Sie 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. Legen Sie im DNS-Resolver (Unbound) einen Host-Override für mail.firma.de auf die interne LAN-IP an oder aktivieren Sie Pure NAT Reflection. |
| HAProxy PROXY Protocol | Leitet ein L4-Load-Balancer Port 25/465/587/993 weiter, aktivieren Sie 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 Ihr Gateway bereits Port 80/443 für mehrere Webserver, exportieren Sie 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, klicken Sie auf das beobachtete Symptom oder tippen Sie 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 Ihr Server produktionsbereit. Für den laufenden Betrieb brauchen Sie 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.