Self-hosted transactional email
Transactional email on infrastructure you own.
Mirnint Mail gives your applications a modern sending API, verified domains and DKIM signing, templates, webhooks and recipient-level delivery events — with the MTA fleet, data and DNS logic under your control. No per-message provider fees.
POST /v1/emails HTTP/1.1
Host: api.mail.mirnint.com
Authorization: Bearer mm_live_xxxxxxxx
Idempotency-Key: 9c47e13d-7d1a-4c2e
{
"from": {
"email": "contact@notify.customer.com",
"name": "Customer Website"
},
"to": [{ "email": "info@customer.com" }],
"reply_to": [{ "email": "visitor@example.net" }],
"subject": "New contact request",
"html": "<p>…</p>",
"tags": { "source": "website-contact" }
}
HTTP/1.1 202 Accepted
{
"id": "msg_01J9X4",
"status": "accepted",
"accepted_at": "2026-08-07T09:30:00Z"
}- Your IP addresses, your sending reputation
- One platform for every MIRNINT-built system
- Delivery states reported exactly as they are
Platform
Everything a sending team needs, nothing hidden
The product experience of a commercial email service — API, dashboard, events — with the delivery plane inside your own infrastructure.
Domains, verified properly
Guided DNS onboarding for ownership, DKIM, SPF and return-path — checked through multiple resolvers, re-verified continuously, with every observation recorded.
Scoped API keys
Project-bound credentials with explicit scopes, CIDR allowlists, quotas, expiry and one-time secret reveal. Overlapping keys support zero-downtime rotation.
Templates with versions
Immutable published versions, locale variants, strict variable schemas, previews and test sends. Rollback is publishing a known-good version — never editing history.
Signed webhooks
HMAC-signed lifecycle events with timestamps, replay protection, bounded retries and audited manual replay. SSRF-safe by design.
Suppressions that protect you
Hard bounces and complaints suppress automatically at the right scope. Complaint suppressions never silently expire; removals require reason and permission.
Operational visibility
Searchable message history, recipient-level timelines, queue depth and age, domain health and IP-pool state — metrics, logs and traces end to end.
Delivery lifecycle
Every recipient, tracked truthfully
A message to five recipients is five independent delivery states. Events are append-only, idempotent and never regress a terminal state.
- 01
accepted
Durably stored by the platform
- 02
queued
Scheduled through the internal queue
- 03
submitted_to_mta
Handed to the outbound MTA
- 04
remote_accepted
Accepted by the recipient mail server
bounced
Hard and soft bounces classified from real DSNs, with enhanced status codes.
complained
Feedback-loop complaints suppress the recipient permanently.
opened / clicked
Optional tracking, disabled by default — and clearly labelled as an imperfect signal.
A 250 OK from the remote mail server means it accepted responsibility for the message — not that it reached an inbox or was read. Mirnint Mail reports remote_accepted and explains it exactly that way, because delivery claims you can't verify aren't simplicity — they're noise.
Developer experience
An API that behaves like you'd hope
Predictable, idempotent and documented — the boring way, on purpose.
Idempotency built in
Send retries with the same key return the original result; conflicting reuse is a 409, never a duplicate email.
Typed error envelope
Stable machine-readable codes with request IDs — no stack traces, no guesswork.
OpenAPI 3.1 + SDKs
Generated clients for TypeScript, Java, PHP and Python that never log your secrets.
Restricted contact-form API
A purpose-built endpoint for website forms: the client can never choose recipients, headers or sending identity.
const result = await mail.emails.send({
from: {
email: "billing@notify.customer.com",
name: "Customer Billing"
},
to: [{ email: "recipient@example.com" }],
template: {
id: "tpl_01J9X4",
locale: "ar",
data: {
customer_name: "أحمد",
invoice_number: "INV-1042"
}
},
idempotencyKey: crypto.randomUUID()
});
// -> { id: "msg_01J9X4", status: "accepted" }Deliverability
Reputation is engineered, not wished for
The delivery plane runs on dedicated MTA nodes with clean static IPs, correct forward and reverse DNS, DKIM signing at the edge and TLS on the wire.
Authentication that verifies
Per-domain DKIM keys held in a secrets vault, CNAME-delegated records for painless rotation, SPF alignment through your return-path domain, DMARC guidance that never blindly overwrites your policy.
Warm-up as a policy engine
Volume ramps respond to bounce, complaint and deferral signals — throttling automatically instead of following a wishful hard-coded schedule.
IP pools and isolation
Named pools separate transactional streams, isolate risk and support tenant-dedicated IPs — because every address carries its own reputation.
Built to serve MIRNINT-engineered systems first — websites, ERP and SaaS platforms — and designed for multi-tenant use from day one. See the full architecture →
Bring email delivery in-house, without losing the product experience
Tell us about your sending volumes and systems. We'll come back with a concrete onboarding plan.
Simplifying Complexity