Skip to Content
🎉 Mailprex 1.0 is soon to released. Read more →
Deployment modes (MAILPREX_MODE)

Deployment modes (MAILPREX_MODE)

Mailprex runs as a single binary with three deployment modes.

Modes

ModeUse caseRegistrationEmail verifyBilling
publicSaaS at mailprex.excelso.xyzEnabledRequiredGumroad (optional)
selfhostYour VPS + your SMTPConfigurableOptionalDisabled
internalAuthor’s own projectsDisabledSkippedDisabled

Set in back/.env:

MAILPREX_MODE=public

Public (default)

  • Multi-tenant SaaS.
  • JWT session in httpOnly cookie.
  • Turnstile CAPTCHA when configured.
  • Gumroad Pro/Business when GUMROAD_* env vars are set.

Self-host

MAILPREX_MODE=selfhost MAILPREX_ALLOW_SIGNUP=true MAILPREX_SMTP_HOST=smtp.example.com

See Self-host guide.

Internal

For single-operator setups (multiple tokens, one admin):

MAILPREX_MODE=internal MAILPREX_INTERNAL_ADMIN_EMAIL=admin@example.com MAILPREX_INTERNAL_ADMIN_PASSWORD=change-me

On first boot, Mailprex seeds the admin account if it does not exist. Registration endpoints return 403.

Public config API

GET /auth/config returns:

{ "mode": "public", "allowSignup": true, "requiresEmailVerification": true, "billingEnabled": false, "billing": null }

The dashboard and landing page use this to show billing UI.

Last updated on
Mailprex Docs 2026 © Mailprex.