Comparison

A self-hosted AgentMail alternative on your own Cloudflare

AgentMail is a hosted inbox API priced by inboxes and email volume. MarkRelay gives agents mailboxes on your own domain, inside your own Cloudflare account, for one license.

Facts checked

The short answer

Choose AgentMail if you want a hosted inbox API with SDKs, SMTP relay and a SOC 2 report, and you are happy for mail to live on AgentMail's servers. Choose MarkRelay when agents should use mailboxes on your own domain inside your own Cloudflare account, with no per-inbox or per-domain fee: each agent gets a mailbox and a key scoped to it, a signed webhook on new mail, and the same mailboxes stay usable by people in webmail.

Side by side

Where mail is stored

MarkRelay
Your Cloudflare D1 + R2
AgentMail
AgentMail's cloud

Inboxes

MarkRelay
No app limit or per-inbox fee
AgentMail
3 free, 10 on Developer, then $2/mo each

Custom domains

MarkRelay
Any domain on Cloudflare DNS
AgentMail
From the Developer plan

HTTP API: send, read, reply, forward

MarkRelay
Yes
AgentMail
Yes

Signed webhooks for new mail

MarkRelay
Yes
AgentMail
Yes

Keys limited to chosen mailboxes

MarkRelay
Yes
AgentMail
Not stated

Webmail for people on the same mailboxes

MarkRelay
Yes
AgentMail
Not stated

Agent skill for Claude Code, Codex, OpenClaw, Hermes

MarkRelay
Yes
AgentMail
Not stated

llms.txt, MCP server, SDKs

MarkRelay
llms.txt, OpenAPI and MCP server
AgentMail
Yes

SMTP relay

MarkRelay
No
AgentMail
Yes

Broadcasts and templates

MarkRelay
Yes
AgentMail
No

Compliance report

MarkRelay
No
AgentMail
SOC 2 (Startup plan)

AgentMail facts are from agentmail.to/pricing. “Not stated” means its pricing page does not say.

Which one fits you

Choose AgentMail if

  • You want a fully hosted service and SDKs out of the box.
  • You need SMTP relay or a SOC 2 report.
  • You are not on Cloudflare and do not plan to be.

Choose MarkRelay if

  • Agents should send from your own domain, and mail should stay in your account.
  • You run many agent mailboxes, or several domains, and do not want to pay per inbox or per domain.
  • People and agents share mailboxes: humans review in webmail, agents work over the API.
  • You also want team webmail, broadcasts and templates in the same app.

What agent mailboxes cost

10 agent mailboxes, 10,000 emails a month

AgentMail

$20Developer plan

MarkRelay

$15.70$8.25 license + $5 Workers Paid + $2.45 sending
You save per month
$4.3021% less

25 agent mailboxes, 20,000 emails a month

AgentMail

$70Developer plan + add-ons

MarkRelay

$19.20$8.25 license + $5 Workers Paid + $5.95 sending
You save per month
$50.8072% less

25 agent mailboxes on 15 domains, 20,000 emails a month

AgentMail

$80Developer plan + add-ons

MarkRelay

$19.20$8.25 license + $5 Workers Paid + $5.95 sending
You save per month
$60.8076% less

100 agent mailboxes, 50,000 emails a month

AgentMail

$200Startup plan

MarkRelay

$29.70$8.25 license + $5 Workers Paid + $16.45 sending
You save per month
$170.3085% less

MarkRelay: the Annual license ($99/year) spread over 12 months, $8.25 a month whatever the volume, plus the Cloudflare bill: Workers Paid is $5/month with 3,000 sent emails included, then $0.35 per 1,000, and receiving is free. With Lifetime ($249 once), later years cost only the Cloudflare bill. Mailboxes and domains cost nothing. AgentMail: the cheaper of the Developer plan ($20/mo with 10 inboxes, 10,000 emails and 10 custom domains, plus $2 per extra inbox, per extra 1,000 emails and per extra domain) and the Startup plan ($200/mo, 150 inboxes, 150 domains).

An agent's mailbox loop

Everything goes over plain HTTP with a key scoped to the agent's own mailbox.

  1. MarkRelayPOSTyour-agent/webhook

    Signed email.received event the moment mail arrives

  2. AgentGET/emails/{emailId}

    Reads the full message and attachments

  3. You, optionallyApprove the draft

    Keep a human in the loop for sensitive replies

  4. AgentPOST/emails/{emailId}/reply

    Replies in the same thread, from agent@yourdomain.com

agent — zsh
# The agent's key was created for agent@acme.com only
$curl -H "Authorization: Bearer $MARKRELAY_API_KEY" "$MARKRELAY_API_URL/mailboxes"
{"items":[{"id":"mb_agent","address":"agent@acme.com","displayName":"Acme Triage Agent"}]}
# Another team's mailbox is invisible to it
$curl -H "Authorization: Bearer $MARKRELAY_API_KEY" "$MARKRELAY_API_URL/emails?mailbox=support@acme.com"
{"code":"not_found","message":"Mailbox not found"}
# Its own mail: read, then reply in the same thread
$curl -H "Authorization: Bearer $MARKRELAY_API_KEY" "$MARKRELAY_API_URL/emails?mailbox=agent@acme.com&folder=inbox"
{"items":[{"id":"b68419a2-…","subject":"Reset my password please","from":{"name":"Sam Patel",…}}, …]}
$curl -X POST -H "Authorization: Bearer $MARKRELAY_API_KEY" -H "Content-Type: application/json" \ "$MARKRELAY_API_URL/emails/b68419a2-…/reply" -d '{"text":"Hi Sam, I have sent a fresh reset link…"}'
{"id":"528a8469-74ee-4dc4-8023-0d3882699ad2"}
A key scoped to agent@acme.com, recorded against a demo deployment.
mail.yourdomain.com
A reply sent by an AI agent through the API, shown in webmail with an API badge
Agent replies appear in webmail with an API badge, next to your team's mail.

Common questions

Can an AI agent use MarkRelay without a hosted service?

Yes. MarkRelay runs as a Worker in your own Cloudflare account. The agent calls your deployment's API directly with its own key; no third-party inbox service is involved.

Does it work with Claude Code, Codex, OpenClaw and Hermes?

Yes. Create a mailbox for the agent and a key scoped to it, then install the skill your deployment serves at /skills/SKILL.md: into ~/.claude/skills for Claude Code, ~/.agents/skills for Codex, OpenClaw and Pi, or with hermes skills install for Hermes. Set MARKRELAY_API_URL and MARKRELAY_API_KEY. Other agents can read the deployment's llms.txt or OpenAPI spec.

Can people and agents share a mailbox?

Yes. A teammate can review and answer in webmail while the agent works over the API on the same mailbox, so handing a thread from agent to human needs no export.

What does MarkRelay cost for many agents?

One license (Annual $99/year or Lifetime $249 once) covers any number of mailboxes and domains. Cloudflare bills sending: Workers Paid includes 3,000 emails a month, then $0.35 per 1,000. For 25 agent mailboxes on 15 domains sending 20,000 emails a month, that is about $19.20 a month with the license spread over the year, against $80 on AgentMail.

Keep reading

Own your email stack today

Buy MarkRelay once and run it in your Cloudflare account. MarkRelay adds no per-message or per-seat charge; Cloudflare usage and service limits remain separate.