# MailHub
MailHub — self-hosted transactional email with API, SMTP, DNS and webhooks.

Transactional email platform

# Send reliable email via API & SMTP

Self-hosted MailHub gives you domain DNS guidance, DKIM signing, delivery logs, and signed webhooks — without locking you into a black-box SaaS.

Get started View API sample

- Self-hosted
- DKIM
- SPF
- DMARC
- Delivery webhooks

curl

## Built for production senders

Everything you need to authenticate domains and observe delivery.

### Domains & DNS

Guided SPF, DKIM, DMARC, and one-click DNS provider writes.

### SMTP Submission

App-friendly SMTP listeners with credentials you control.

### HTTP Send API

Bearer tokens and a simple JSON send endpoint for apps and services.

### Delivery logs

Track queue and MTA outcomes with searchable send history.

### Webhooks

Signed callbacks for sent, bounced, and failed terminal events.

### Multi-user isolation

Domains, tokens, and logs stay scoped to each account.

## Three ways to integrate

Pick the path that matches your stack — configure after sign-in.

### API

Create an API token, then POST JSON to /api/send with Bearer auth.

See API sample →

### SMTP

Point your app at MailHub submission ports with per-user credentials.

See SMTP details →

### Webhooks

Subscribe endpoints to terminal delivery events with HMAC signatures.

See webhook events →

## Send API

Minimal JSON contract. Hostnames below are placeholders — replace with your MailHub host.

POST /api/send

- `from` — sender address on a verified domain
- `to` — recipient string or array
- `subject` — message subject
- `text` / `html` — message body

## SMTP submission

Default listener ports (override in your deployment):

25 smtp
587 smtp / STARTTLS
465 smtps
2525 smtp

Create SMTP login credentials in the console after registration. Host example: mail.example.com

## Delivery webhooks

Terminal events only — signed HTTPS callbacks to your systems.

Status | type
--- | ---
`sent` | `email.sent`
`bounced` | `email.bounced`
`failed` | `email.failed`

Signature header: `X-MailHub-Signature: t=<unix>,v1=<hmac>`

## Ready to send?

Create an account, add a domain, and ship your first message in minutes.

Get started Log in