Every incoming message parsed into clean JSON and POSTed to your endpoint. No mail server. No MIME parsing. No assembly required.
Point your domain's MX records at MailKite. We verify DNS and activate the domain in seconds.
Tell MailKite where to POST incoming email. Any HTTP endpoint works — your API, a Cloudflare Worker, a Lambda function.
Send a test email to your domain. MailKite parses it and POSTs clean JSON to your webhook. Done — no mail server, no setup.
Clean, pre-parsed JSON — no multipart form decoding, no MIME assembly.
POST /your-webhook Content-Type: application/json
x-mailkite-signature: t=…,v1=… (HMAC-SHA256 — verify locally)
{
"id": "msg_2Hk9…",
"type": "email.received",
"from": { "address": "ada@example.com" },
"to": [{ "address": "support@myapp.ai" }],
"subject": "Re: invoice #1042",
"text": "Looks good — approved!",
"html": "<p>Looks good — approved!</p>",
"threadId": "<a1b2c3@mail.example.com>",
"auth": { "spf": "pass", "dkim": "pass", "dmarc": "pass", "spam": "ham" },
"attachments": [
{ "filename": "po.pdf", "contentType": "application/pdf",
"size": 18213, "url": "https://api.mailkite.dev/att/2Hk9…/0?sig=…" }
]
} Every email arrives as a pre-parsed JSON object — sender, subject, body (text + HTML), thread ID, auth results, and attachments with signed URLs. No MIME re-parsing.
Every webhook includes an x-mailkite-signature header (HMAC-SHA256). Verify the payload is authentic before your handler runs.
threadId resolves In-Reply-To and References headers automatically. Group replies into conversations without parsing headers yourself.
Failed webhooks retry with exponential backoff. Missed deliveries land in a dead-letter queue you can replay from the dashboard.
Point MX records at MailKite for as many domains as you need. No per-domain charges, no tier gating.
Attachments are extracted, stored, and delivered as signed URLs in the JSON payload. No multipart stream to decode.
An email webhook is a URL that receives incoming email as an HTTP POST request. When someone sends email to your domain, the email provider parses the message and sends the content (sender, subject, body, attachments) as a JSON payload to your webhook URL.
SendGrid Inbound Parse delivers email as a multipart form POST — you re-parse the MIME structure yourself. MailKite delivers a clean, pre-parsed JSON payload with HMAC signature verification. No multipart handling required.
No. Point your domain's MX records at MailKite and we receive, parse, and deliver every email as a webhook. No Postfix, no IMAP, no mail server to babysit.
Yes. MailKite is free on unlimited domains. No credit card required. You pay only when you need higher volume or premium features.
MailKite handles SPF, DKIM, and DMARC authentication on inbound. For outbound, we sign with your domain's DKIM and handle bounce/complaint feedback loops automatically.
Point a domain, drop in a webhook URL, receive your first email. Unlimited domains, no credit card.