The email sending API built on your own providers
Sendmux is a multi-provider email sending API and SMTP relay service. Bring SMTP, Gmail, Microsoft 365, or Amazon SES. Sendmux weights traffic, enforces per-provider quotas, and reroutes around failure on its own.
What happens when you hit send
The routing layer, in pieces
Pulled from rotation when a provider hits three failures inside five minutes.
Per API key, shared across HTTP and SMTP. A batch of 100 counts as one request.
Cumulative-weight random selection. Weights unset means an equal split; negative is rejected.
24h after a quota block, 1h after a connection error, manual on auth or config faults.
Weighted pools, scoped per key
Add SMTP, Gmail, Microsoft 365, or Amazon SES. Group the providers you want and weight each one. A key only sends through the providers in its scope.
Send scope: all · specific · group
Isolated pools
Separate groups, so transactional and bulk traffic never share a reputation.
A bad provider doesn't become a bad day
Sendmux watches every send. When a provider degrades, traffic moves before your queue notices.
Provider 5xx → sends fail
You retry by hand, or you lose mail. One provider's bad night becomes your incident.
# t = 0s POST /emails/send → 503 upstream # t = 2s retry 503 upstream # t = 4s retry 503 upstream # t = 5s page on-call
3 fails / 5 min → rerouted
The provider is pulled, healthy ones take over, transient sends retry 5m → 2h → 12h.
# t = 0s POST /emails/send → 202 queued # gmail-oauth: 5xx (3 in 5m) # failover → ses-au-1 # delivered 250 OK
Caps that defend reputation
Per-second, minute, hour, and day caps on any provider. Over-cap sends wait, they don't fail. Sensible defaults out of the box.
Configurable per provider. SMTP is unset by default.
per provider
per provider
One JSON call, bearer auth
POST /api/v1/emails/send/batch Idempotency-Key: run-001 { "messages": [ {…}, {…} ] } → { "summary": { "total":2, "queued":2, "failed":0 } }
Total request body up to 25 MB. Same API key, same 1,800 requests/minute limit, over HTTP and SMTP.
Drop-in SMTP relay
One connection per email on port 587 (STARTTLS) or 465 (TLS). The API key is the password. Same routing, failover, and the same 1,800-requests-per-minute limit as HTTP.
# same 1,800/min limit as HTTP
A managed Amazon SES route, live on signup
No provider setup required. At 80% of the daily cap, request an increase in one click. We review each request and email you the outcome. Resets 00:00 UTC.
Intended for triggered and transactional mail. Use your own provider for marketing or bulk traffic.
From the docs
API reference
Common questions