Mailjar receives mail — on a free mailjar.dev address or your own domain — parses it, and pulls out the OTP, magic link and data — ready to read over a simple REST API, MCP, or the inbox. Perfect for reading verification emails straight from CI.
Free while in beta · EU-hosted · Every feature unlocked
# in your test / CI pipeline
curl -H "Authorization: Bearer $MAILJAR_KEY" \
https://app.mailjar.dev/api/inbox/jane.signup/latest-otp
# →
{
"otp": "492013",
"message_id": "a1b2c3",
"received_at": "2026-06-13T09:41:02Z"
}
Every end-to-end test that signs a user up hits the same wall: a verification code lands in an inbox you can't read from code. Teams hack around it with throwaway Gmail accounts, IMAP scripts, or paid per-parse services that meter every read.
Use Mailjar instead. Claim an address on mailjar.dev
— or point your own domain at it — and mail to it is captured, parsed, and the code extracted,
then read back with one authenticated request. No mailbox, no scraping, no per-parse meter.
Use a free Mailjar address, or bring your own domain. Either way, mail is parsed the moment it lands and read back over the API, MCP, or the inbox.
Grab any address on mailjar.dev —
[email protected], or a wildcard like
you-*@mailjar.dev. Use it instantly; claim it and it's
exclusively yours, with mail private to your account. Nothing to configure.
Add your domain and point a single MX record at the host
we give you. That one record both routes your mail and proves you own the domain —
then you receive everything sent to anything@yourdomain,
private to you.
Then Mailjar parses every message — sender, bodies, attachments, with the OTP and links extracted — and you read it via REST API, MCP for agents, Telegram/webhook push, or the web inbox.
No feature is locked behind a tier. Every account gets the full toolkit — you only ever pay for volume.
The killer feature. Verification codes pulled from any message and served at /latest-otp.
Primary action links surfaced automatically — click the right one in your test, every time.
From, to, subject, date, text + HTML bodies, headers and attachments — clean, structured JSON.
Regex fast-path, LLM fallback for the tricky ones — and it teaches itself a rule so the next one is instant. Flat cost, never per-parse.
Per-key auth, scoped to your addresses. /openapi.json and an /llms.txt out of the box.
Let an AI agent read the signup OTP itself. JSON-RPC over HTTP, same key, same scope.
Per-address routing to Telegram or an HMAC-signed webhook — wire it into n8n, Slack, anything.
SPF, DKIM and DMARC results on every message — you're the receiver, so it's free to compute.
Claim exact or wildcard addresses. Private by default — your mail is yours, no public inboxes.
A clean REST API for your test suite, and a native MCP server so your AI agent can read a one-time code without you writing any glue. Same key, same access scope.
GET /api/inbox/{addr}/latest-otp — the code, nothing elseGET /api/inbox/{addr}/latest — the full parsed messagePOST /mcp — latest_otp, list_inbox, get_message// tools/call over POST /mcp
{
"method": "tools/call",
"params": {
"name": "latest_otp",
"arguments": { "alias": "jane.signup" }
}
}
Playwright, Cypress, anything that signs a user up and needs the code back.
Give an agent an inbox via MCP so it can complete signups and verifications on its own.
Turn inbound mail into webhooks and Telegram pings — receipts, alerts, parsed data.
EU-hosted, private by default, short retention — and a self-hosted path on the roadmap.
Mailjar captures inbound email. Its sibling Hookjar captures inbound HTTP (webhooks). Same idea, same login, same conventions — an inbound-capture toolkit for whatever's knocking on your door.
And when paid plans arrive, you'll pay for volume, never for features. Every capability stays unlocked for everyone — the meter only kicks in if you lean on it hard.
See the pricing philosophySign in with Google, claim an address, and read it over the API.
Start free