MailKite
Start Free
Email for developers

Email infrastructure for every product you ship

Receive email as a webhook. Send with one API. Manage unlimited domains. Built for multi-product SaaS teams and the AI agents they build.

Free up to 3,000 emails/mo. $20/mo when you scale — no credit card.

Our Tier-1 Networks
Amazon SES Cloudflare Postmark
Switched from SendGrid, inbox placement went from ~92% to ~99% in two weeks.

MarkAdRender.app

What you get

Everything you need to ship with email

Send · one API

One API call, delivered

The same address that receives can send. One endpoint, one key — transactional mail, replies, and broadcasts go out over your own authenticated domain, built on Cloudflare’s edge.

  • HTML + text bodies and attachments in one POST
  • DKIM-signed and aligned automatically — lands in the inbox
  • Reply in-thread to anything you received
  • Scoped API keys, idempotent sends

No code to add? Point WordPress, a CRM, or any app that speaks SMTP at our relay →

import { MailKite } from "mailkite";

const mk = new MailKite(process.env.MAILKITE_API_KEY);

const { id, status } = await mk.send({
from: "hello@myapp.ai",
to: "ada@example.com",
subject: "Your invoice #1042",
html: "<p>Thanks! Receipt attached.</p>",
});
Install Docs →
Receive · the payload

One webhook, the whole message

This is exactly what hits your endpoint the moment an email arrives — no MIME wrangling, no encoding surprises.

  • Plain text and HTML bodies, already decoded
  • Attachments behind short-lived signed URLs
  • Stable message IDs for idempotent processing
  • Full headers when you need them
import express from "express";
import { MailKite } from "mailkite";

const app = express();
app.use(express.json());

app.post("/hooks/mailkite", (req, res) => {
// Verify the signature in production — see /docs/webhook-security
const email = req.body; // { from, subject, text, html, attachments }
res.json(MailKite.replyOk()); // {"status":"ok"}
});
Install Docs →
Best-path routing

The right provider for every message

Transactional, broadcast, or a brand-new domain — MailKite reads each message and routes it through the provider most likely to land it: Amazon SES, Cloudflare, or Postmark. Warm pools on day one, and an automatic reroute if a network degrades. You never pick a provider or babysit an IP.

provider routing optimal path per message
your sends route engine picks the best provider Postmark transactional Priority lane time-sensitive mail Amazon SES high volume Bulk lane broadcasts & campaigns Cloudflare new domain Warm-up pool shared, warmed for you transactional high volume new domain

MailKite routes each message through the provider most likely to land it — and reroutes automatically if one degrades.

How it works

Three steps to start

  1. 1

    Sign up and get an API key

    Instant API key — no waiting, no approval. Start building in under 5 minutes.

  2. 2

    Add your first domain

    Point MX records at MailKite. We verify DNS and activate the domain automatically.

  3. 3

    Receive or send your first email

    Register a webhook for inbound, or fire the send API for outbound. Clean JSON in, clean API out.

Built for

Developers who ship fast

Multi-product builders

Ship 10+ domains without rebuilding email plumbing per product. One platform, one API key, unlimited domains.

Developers adding email features

Reply-by-email, support inboxes, inbound parsing, verification codes — clean JSON webhooks, not a wiring project.

AI agent builders

Agents with their own inbox, two-way threads, and MCP integration. Human supervision built in.

Questions

What is MailKite?

MailKite is an inbound-first email platform for developers. Receive email as a webhook, send with one API, manage unlimited domains. Built for teams shipping multiple products and the AI agents they build.

How is this different from SendGrid or Postmark?

SendGrid and Postmark are send-first platforms with inbound bolted on. MailKite is inbound-first: every incoming email becomes a clean JSON webhook. We also include unlimited free domains, graceful overage, and MCP-native agent support.

Is there a free tier?

Yes. MailKite is free on unlimited domains. No credit card required. You pay only when you need higher volume or premium features.

What languages do you support?

Official SDKs for Node.js, Python, Go, Ruby, PHP, Java, .NET, and Rust. Plus an MCP server for AI agents and an SMTP relay for legacy apps.

Start shipping email today

Unlimited domains, 3K emails/month, free. No credit card. Under 5 minutes to first email.

Free up to 3,000 emails/mo. $20/mo when you scale — no credit card.