Built in Rust — 100k+ emails/minute

Email delivery
infrastructure
that just works

A high-performance transactional and bulk email API. DKIM, SPF, DMARC, IP warming, webhooks, and open/click tracking — all in one dead-simple REST API.

send_email.sh
cURL
Node.js
Python
Rust
# Send a transactional email in one line
curl -X POST https://api.mailaki.io/v1/messages \
  -H "Authorization: Bearer mf_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "from":    "[email protected]",
    "to":      ["[email protected]"],
    "subject": "Welcome aboard!",
    "html":    "<h1>Hello world</h1>",
    "text":    "Hello world",
    "tracking": { "opens": true, "clicks": true }
  }'

# Response
{
  "id": "01912345-6789-7abc-def0-123456789abc",
  "status": "queued"
}
const res = await fetch("https://api.mailaki.io/v1/messages", {
  method: "POST",
  headers: {
    "Authorization": "Bearer mf_your_api_key",
    "Content-Type":  "application/json",
  },
  body: JSON.stringify({
    from:    "[email protected]",
    to:      ["[email protected]"],
    subject: "Welcome aboard!",
    html:    "<h1>Hello world</h1>",
    tracking: { opens: true, clicks: true },
  }),
});

const { id, status } = await res.json();
console.log(`Queued: ${id}`); // → "01912345-6789..."
import requests

response = requests.post(
    "https://api.mailaki.io/v1/messages",
    headers={
        "Authorization": "Bearer mf_your_api_key",
    },
    json={
        "from":    "[email protected]",
        "to":      ["[email protected]"],
        "subject": "Welcome aboard!",
        "html":    "<h1>Hello world</h1>",
        "tracking": {"opens": True, "clicks": True},
    },
)

data = response.json()
print(data["id"])  # → "01912345-6789..."
use reqwest::Client;
use serde_json::json;

let client = Client::new();
let res = client
    .post("https://api.mailaki.io/v1/messages")
    .bearer_auth("mf_your_api_key")
    .json(&json!({
        "from":    "[email protected]",
        "to":      ["[email protected]"],
        "subject": "Welcome aboard!",
        "html":    "<h1>Hello world</h1>",
        "tracking": { "opens": true, "clicks": true },
    }))
    .send().await?;

let data: Value = res.json().await?;
println!("Queued: {}", data["id"]);
DKIM + SPF + DMARC IP Warming Webhooks Open & Click Tracking SMTP Relay
Trusted by teams at
Acme Corp Horizons Stratosphere Vertex Labs Pinecrest
100k+
Emails per minute
99.9%
Uptime SLA
<50ms
API response time
72hr
Max retry window

Everything you need to
ship email with confidence

Built for developers who care about reliability, deliverability, and not getting paged at 3am.

REST API & SMTP Relay

Send via JSON REST API or drop-in SMTP relay. Works with any language, any framework. Authentication via API key or SMTP credentials.

DKIM, SPF & DMARC

First-class email authentication out of the box. Per-tenant DKIM keys, SPF alignment, and DMARC policy enforcement — automatically configured.

Smart Retry & Queuing

Write-ahead queue with at-least-once delivery guarantees. Exponential backoff with jitter — 7 attempts over 72 hours before a bounce.

Webhooks

Real-time delivery events: delivered, bounced, opened, clicked. HMAC-signed payloads. Auto-retry with exponential backoff.

Open & Click Tracking

Transparent pixel injection and URL rewriting for open and click tracking. Real-time stats per message, domain, or tenant.

IP Pool Management

Dedicated IPs for high-volume senders, shared pools for low-volume. Automated IP warming over 6 weeks with reputation tracking.

Suppression Lists

Automatic suppression on hard bounces and spam complaints. Manual suppression management via API. Tenant-isolated lists.

Inbound Routing

Receive email via SMTP and route it to your webhook endpoint. Full MIME parsing, attachment handling, and reply-to threading.

Multi-Tenant

Fully isolated domains, API keys, rate limits, and IP pools per tenant. Built for SaaS platforms that send on behalf of their customers.

From API call to inbox
in milliseconds

A battle-tested pipeline that handles queuing, signing, delivery, and feedback — so you don't have to.

1

Submit via REST API or SMTP

POST a JSON message or relay via SMTP. Your API key is validated, your domain ownership confirmed, and your sending rate checked in milliseconds.

2

Sign, transform & enqueue

The message is DKIM-signed with your private key, tracking pixels and click links are injected if enabled, then stored durably and enqueued in Postgres with priority ordering.

3

Deliver with smart routing

Delivery workers resolve MX records, pick the best IP from your pool, and deliver over STARTTLS. Failures are classified and retried automatically with per-domain backoff.

4

Events & feedback

Delivery events fire webhooks to your endpoint. Bounces and spam complaints are processed automatically, updating suppression lists and protecting your reputation.

POST /v1/messages
Validate & Rate Limit
DKIM Sign
Enqueue (Postgres WAL)
Resolve MX Records
SMTP Delivery via TLS
delivered — Webhook fired

Built to hit the inbox,
not the spam folder

Deliverability is not an afterthought — every layer of the stack is designed around it.

Authentication

DKIM / SPF / DMARC

RSA-2048 DKIM signing with relaxed/relaxed canonicalization. SPF and DMARC policy alignment validated before every send. DNS records generated automatically.

IP Reputation

IP Warming Automation

New dedicated IPs are ramped over a 6-week warming schedule — starting at 100 emails/day and doubling every few days. Reputation score tracked per IP.

Feedback Loops

ISP FBL Processing

ARF (RFC 5965) abuse reports from Gmail, Microsoft, and Yahoo are processed automatically. Complainants are suppressed; tenants with >0.1% complaint rate are alerted.

Standards

MTA-STS & ARC

MTA-STS (RFC 8461) enforces TLS for domains that require it. ARC signing (RFC 8617) preserves authentication results through forwarding chains.

Compliance

List-Unsubscribe

RFC 8058 one-click unsubscribe headers automatically injected. A hosted unsubscribe page handles the flow; suppressions are updated in real time.

Reporting

DMARC Aggregate Reports

RFC 7489-compliant DMARC XML aggregate reports generated and sent to your reporting address. Monitor authentication pass rates across all your domains.

A simple API you
can ship with today

Authenticate with a single bearer token. Send JSON. Get a message ID back. Every endpoint follows the same predictable pattern.

Base URL

https://mailaki.com/v1

Authentication

Authorization: Bearer mf_your_api_key
Read the docs API reference
POST/messagesSend a message
GET/messages/{id}Get status
GET/messages/{id}/eventsDelivery events
POST/domainsAdd a domain
POST/domains/{id}/verifyVerify DNS
GET/eventsEvent log
GET/suppressionsSuppression list
DELETE/suppressions/{email}Remove suppression
POST/webhooksRegister webhook
GET/statsAggregate stats

Simple, predictable pricing

No per-recipient add-ons. No overage surprises. Pay for what you send.

Free
$0 / month
Perfect for prototypes and side projects.
5,000 emails / month

1 custom domain
REST API & SMTP relay
DKIM / SPF / DMARC
Templates & tracking
5 inboxes
No daily sending limit
Community support
Starter
$15 / month
For early-stage startups and small apps.
50,000 emails / month

5 custom domains
25 inboxes
Webhooks & inbound routing
Templates & tracking
25 GB storage
Email support
5x more emails than Mailgun Basic
Scale
$149 / month
For high-volume senders who need dedicated infrastructure.
2,000,000 emails / month

Everything in Growth
Dedicated IP addresses
IP warming & pool management
500 inboxes & 500 GB storage
25 team members
99.9% uptime SLA
Slack support channel

Sending more than 2M emails/month? Talk to us about Enterprise — custom volume, SLAs, and dedicated support.

Overages: Starter $1.00, Growth $0.60, Scale $0.40 per 1,000 emails. No hidden fees.

Common questions

How do I add a domain? +
Sign up and go to your dashboard. Click Add Domain, enter your domain name, and you'll receive the DNS records to configure: an SPF TXT record, a DKIM TXT record, and an optional DMARC record. Once configured, click Verify — verification takes under a minute.
Is there an SMTP relay I can use instead of the API? +
Yes. Connect any SMTP client to smtp.mailaki.io on port 587 with STARTTLS. Use your email address as the username and your API key as the password. It works as a drop-in replacement for any existing SMTP configuration.
How does the retry logic work? +
Mailaki retries failed deliveries up to 7 times over 72 hours using exponential backoff with jitter: immediately, then 5 min, 15 min, 1 hr, 4 hrs, 12 hrs, and 24 hrs. 4xx (transient) responses trigger a retry; 5xx (permanent) responses immediately generate a bounce and suppress the address. After 72 hours with no successful delivery, the message is permanently bounced.
What is a dedicated IP and do I need one? +
A dedicated IP address is exclusively yours — your sending reputation belongs to you and isn't shared with other senders. If you send fewer than ~100k emails/month, a shared IP pool is typically better because reputation is spread across multiple established senders. Dedicated IPs are included in the Scale plan and above, and include automated IP warming.
How does IP warming work? +
New dedicated IPs start at a low daily sending limit (~100 emails/day) and ramp up over 6 weeks, roughly doubling every few days. Mailaki manages this automatically — the queue scheduler respects the daily limit for each IP and routes overflow through your shared pool during the warmup period.
Can I use Mailaki for bulk marketing email? +
Yes, but please follow email best practices: only send to opted-in recipients, honor unsubscribes immediately (Mailaki handles this automatically via List-Unsubscribe headers), and keep complaint rates below 0.1%. Tenants exceeding complaint thresholds are automatically alerted and may be suspended.
Are webhook payloads signed? +
Yes. Every webhook request includes an X-Mailaki-Signature header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret. Verify this signature on your server before processing any webhook event.
What happens if I exceed my monthly email limit? +
Emails above your plan's included volume are billed at $0.80 per 1,000. You won't be cut off mid-month — we'll notify you when you're approaching your limit and include any overage on your next invoice.

Ship your first email
in under 5 minutes

Free plan includes 5,000 emails/month. No credit card required. Full API access from day one.