Skip to Content
DocsCloud OSOrbit Mail

Orbit Mail

Orbit Mail is your self-hosted webmail, layered on top of the Postfix + Dovecot + Rspamd container stack that already ships with Server Mode. Per-user mailboxes auto-provision the moment you visit Mail; native IMAP / SMTP clients (Apple Mail, Thunderbird, Fastmail-style apps) continue to work in parallel.

This is the second app in Quazzar Workspace, alongside Drive. Available on every plan; the container stack itself is the only thing gated (Pro+).

What you get

  • Three-pane web UI — folder sidebar (Inbox / Sent / Trash + your custom folders), paginated message list, full-message reading pane.
  • Auto-provisioning per Quazzar user — your username on this server becomes <username>@<base_domain> on first visit. No per-user admin step.
  • Compose & send through the local Postfix submission port (587, localhost). The From header is locked to your Quazzar identity — no spoofing.
  • Sandboxed HTML rendering — incoming HTML mail is shown inside an <iframe srcdoc> with sandbox="allow-popups" (no scripts, no same-origin). Plain-text fallback always available via a tab toggle.
  • Read/unread, move-to-trash, attachment download — covers the day-to-day inbox flow.

Enabling the mail stack

Mail requires the Postfix + Dovecot + Rspamd containers, which add ~80 MB resident memory. If you’re on a 1 GB node, weigh that cost first.

To enable:

  1. Open Server Mode → Mail → Enable mail stack. Set your domain and hostname. Quazzar generates a DKIM keypair for you.
  2. Wait ~30 seconds for the containers to come up; status flips to Running.
  3. (Recommended) Add the SPF / DKIM / DMARC TXT records the panel suggests so outbound mail isn’t flagged as spam by recipients.
  4. Open /mail. Your mailbox <username>@<domain> provisions automatically on the first request.

Sending mail reliably

Pure self-hosted outbound is a deliverability minefield in 2026. We strongly recommend pairing the local stack with a smarthost (SES, Postmark, Mailgun, SendGrid). This keeps the storage and identity local while delegating the “is this IP trusted?” problem to a reputable upstream:

  1. Open Server Mode → Mail → Outbound relay.
  2. Pick a provider, paste the smarthost host:port + credentials.
  3. Send a test message — Postfix routes via the smarthost; recipients see your domain in the From: header but the trusted relay’s IP at the SMTP level.

This is also our recommendation for residential ISPs that block port 25.

Mounting in Apple Mail / Thunderbird / etc.

Even though the webmail handles day-to-day reading, the same mailbox is reachable over standard IMAP/SMTP. Use these settings:

SettingValue
IMAP host<your-quazzar-host>
IMAP port993 (TLS) or 143 (STARTTLS)
SMTP host<your-quazzar-host>
SMTP port587 (submission, STARTTLS)
Username<quazzar-username>@<domain>
PasswordThe password the panel showed you when the mailbox was minted (Server Mode → Mail → Mailboxes → Reveal password)

API

Every webmail action is also a REST endpoint, so you can script anything:

  • GET /api/mail/status{enabled, provisioned, address}.
  • POST /api/mail/provision — force-provision (used by the empty state CTA).
  • GET /api/mail/folders — list IMAP folders.
  • GET /api/mail/inbox?folder=INBOX&limit=50&offset=0 — paginated envelopes.
  • GET /api/mail/messages/{folder}/{uid} — full message body.
  • POST /api/mail/messages/{folder}/{uid}/flag{flag, set}.
  • POST /api/mail/messages/{folder}/{uid}/move{dest}.
  • POST /api/mail/send{to, cc, subject, body_text, body_html, in_reply_to}.
  • GET /api/mail/messages/{folder}/{uid}/attachments/{part_id} — stream an attachment.

All session-authed via the standard JWT cookie / bearer.

What’s not yet there

  • Search across messages — coming in a follow-up.
  • Drafts — compose-and-send only in MVP. IMAP APPEND wiring lands next.
  • AI triage (categorisation, summarise thread, draft reply) — phase Б of the roadmap. The hooks are wired; the UI is pending.
  • Sieve filters — server-side filtering rules. Coming alongside search.
  • Inline attachment rendering — MVP shows attachment list and download button.