v1.3.1 Official Manual · 5 Topic Groups · 15 Focused Guides

nextxch Documentation

Cleanly organized reference manual covering installation, DNS, security, groupware, CLI automation, and operations: every focused guide documents exact Default Values and production Best Practices.

Getting Started

From a fresh Windows, Linux, or Docker host to the perimeter port matrix.

Networking, DNS & Crypto

10/10 deliverability with FCrDNS/PTR, Dual-DKIM, IPv6, pfSense & Let's Encrypt DANE.

Mail Transport & Defense

SMTP queue, live MX diagnostics, SpamGuard ML, greylisting, ClamAV & Fail2Ban.

Clients, Groupware & CLI

Messenger-safe iPhone setup, Outlook-style Calendar & Contacts, API keys & CLI.

Compliance, Storage & Ops

Message Trace, GoBD WORM archive, SQLite / SQL Server / PostgreSQL 18 & updates.

Quick Reference: The 5 Required Inbound Ports

Additionally, outbound TCP Port 25 must be open to the internet for direct MX delivery.

TCP 25ESMTP MX Inbound & Outbound
TCP 443HTTPS: Webmail, Admin, DAV, Push
TCP 465SMTPS Client Submission (TLS)
TCP 587Submission (STARTTLS)
TCP 993IMAPS Mailbox & IDLE Push

Frequently Asked Operational Questions

Which firewall ports are strictly required for nextxch?

Full mail, Webmail PWA, Mobile Push, and CalDAV/CardDAV operation requires 5 inbound TCP ports: 25 (ESMTP MX inbound), 443 (HTTPS for Webmail, Admin, JMAP, CalDAV/CardDAV & Mobile Push), 465 (SMTPS implicit TLS), 587 (Submission STARTTLS), and 993 (IMAPS). Optional ports are 80 (Let's Encrypt HTTP-01), 143 (IMAP STARTTLS), and 4190 (ManageSieve), plus outbound TCP port 25 to the internet.

Why can an external port check time out when both servers sit behind the same pfSense or SSL gateway?

When a web server and mail server share a firewall (such as pfSense, OPNsense, or HAProxy) without Hairpin NAT (NAT Reflection), packets addressed from inside the gateway to your own public WAN IP are dropped. Starting in v1.2.4, nextxch automatically detects co-hosted gateway topologies via split-path probing. For LAN clients, configuring Split-DNS host overrides or Pure NAT Reflection is recommended.

How do I safely share an iPhone or smartphone setup profile via WhatsApp or Microsoft Teams?

In Accounts & Lists -> Device Setup inside /admin/ (or inside Webmail settings), nextxch generates a 24-hour setup page link (/onboarding/setup/{token}) backed by a dedicated per-device App Password. Preview crawlers from WhatsApp, Teams, Telegram, or Slack never consume the token, and in-app WebViews display a clean Safari handoff prompt so iOS installs the signed .mobileconfig profile cleanly.

What are the recommended SpamGuard thresholds for production?

Keep JunkThreshold at 4.5 (routes suspicious mail to Junk) and RejectThreshold at 9.0 (hard 550 SMTP reject for clear spam), paired with Smart Greylisting (240 seconds on IPv4 /24 and IPv6 /64 prefixes). Legitimate MTAs pass greylisting automatically on retry and are cached for 30 days, preventing false-positive data loss.

Which database engine should I pick: SQLite WAL, Microsoft SQL Server, or PostgreSQL 18?

Up to ~250 active mailboxes on a single host, embedded SQLite WAL delivers sub-millisecond reads with zero DBA maintenance. Windows shops with existing Microsoft SQL Server (2019-2025, Express, or Azure SQL) get native multi-node clustering and search out of the box, while Linux high-availability clusters benefit from PostgreSQL 18 LISTEN/NOTIFY.