[smtp] configuration, the queue you manage, and the workflows around sending domains. The first-boot wizard writes a working baseline for all of it.
Listeners and ports
Inbound (25) and submission (587/465) are separate code paths with different rules — untrusted mail is authenticated and scored, user mail is identity-validated and queued. Never proxy these ports; they bind directly even behind a reverse proxy.
Sending domains and DKIM keys
Each domain the server sends for has its own signing key, declared as an array entry:oximail setup dkim --domain <d>), add the block above, and publish the DNS record — a key without its published TXT record signs mail that receivers reject. oximail check-dns --domain <d> confirms the full record set; the email authentication page explains each record.
Submission validates both the envelope MAIL FROM and the body From: against the authenticated account’s identities — users cannot send as addresses they do not own, and additional sendable addresses are managed as aliases (oximail alias, ADR-089).
Routing outbound: transport maps
By default, outbound mail resolves the destination’s MX and delivers directly.[[smtp.transport_maps]] overrides routing per destination pattern — the mechanism behind relay/smarthost sending:
The outbound queue
Every submission lands in the persistent delivery queue; a worker retries with exponential backoff (1 min → 24 h) until the 5-day give-up window expires, then bounces with an RFC 3464 DSN. Manage it with:oximail check-dns and the remote server’s reply recorded on the queue entry. Note that an account erasure deliberately refuses to run while that account still has undelivered queue entries; cancelling them via the queue surface unblocks it.
Rate limits
[rate_limit] smtp_outbound_per_hour caps per-account outbound volume, and the [rate_limit.destination_domains] table shapes per-destination behaviour to stay polite with large receivers. Both are runtime-overridable (configuration).
Backup MX
A second box with[mode] role = "backup" accepts mail for your domains when the primary is down, in one of two modes (queue or synchronous proxy — see the SMTP layer). The wizard has a dedicated Backup MX flow; publish it as MX priority 20. A backup MX must know the valid recipients or stay in proxy mode — a backup that accepts everything is a backscatter source.
Where the rest lives
- Verdicts and folder placement of inbound mail — anti-spam.
- The DNS contract (SPF, DKIM, DMARC, MTA-STS, DANE) — email authentication.
- Archiving copies of mail flows — compliance journaling.
- User-level filtering at delivery — Rules & Sieve.