Token Canopy

Compare

Not every “email for agents” is the same product.

A dozen products now describe themselves as email for AI agents. They are solving at least five separate problems, and the one you have decides which of them is even a candidate.

This page is our reading of the field, including where e2a is the wrong answer. Everything stated about another product is what its own public documentation said on 2026-09-09, linked so you can check it. Products change; this page is dated for that reason.

Five problems, one name

Work out which one you have.

  1. 01

    An address the agent owns

    Your agent can send email. Nobody can write back to it, because there is no mailbox behind the address.

    The product creates addresses and holds the mail. The agent sends, receives and replies through an API of its own, and the mailbox belongs to the agent rather than to a person.

    This is the category e2a is in. Choose a lighter one if the mailbox is somewhere to catch a signup code, and nobody will ever have to establish who the sender was.

    AgentMail · DevInbox · Robotomail · Inbound

  2. 02

    An API that sends the mail

    Your product sends receipts, alerts and password resets, and the reply — if there is one — is somebody else's problem.

    A transactional sending API, with deliverability, templates and suppression built around outbound. Inbound, where it exists, is an MX record pointed at them and a webhook you host.

    Choose one of these if the volume is high, the mail comes from your product rather than from an agent, and a reply is a support ticket rather than the next turn of a conversation. They are better at delivery at scale than we are.

    Resend · Postmark · SendGrid · Amazon SES

  3. 03

    Inbound mail as an HTTP request

    Mail is arriving and your code has to see it. Nothing needs to be kept afterwards.

    MX records point at them, and each message becomes a POST to a URL you run, or a forward into a mailbox you already have. There is usually no stored mailbox to read back.

    Choose one of these if you already run a public endpoint and mail is an event rather than a conversation. They are the cheapest way to turn an address into a function call.

    CloudMailin · Cloudflare Email Routing · ImprovMX

  4. 04

    A layer over a mailbox that already exists

    The mail that matters is already in a person's Gmail or Outlook, and the agent has to work inside it.

    OAuth into an account somebody already owns, then a unified API or a tool set over its threads, labels and drafts. The agent acts as that person.

    Choose one of these when the job is triage, drafting and follow-up inside a human's own inbox. The sender is the human, and that is exactly what you want — e2a cannot do this at all.

    Nylas · Unipile · Composio Gmail

  5. 05

    Run the mail server yourself

    You want the whole path on infrastructure you operate, with no vendor in it.

    An MTA or a mail platform you run: SMTP in, SMTP out, storage, and whatever you build above it.

    Choose one of these if what you want is a mail server and you are happy to build the agent layer yourself. e2a is Apache-2.0 and self-hostable too, so the question is not who holds the server — it is what comes prebuilt above transport.

    Postal · Stalwart · Forward Email

Where e2a differs

The rows worth arguing about, in both directions.

The e2a column is the served /v1 contract and the hosted service, not a roadmap. The other columns describe the shape of a category rather than any one company, because a category can be summarised and a competitor cannot. The last four rows are ones we lose.

Capability by category, as documented on 2026-09-09.
Capabilitye2aAgent inboxesSending APIsInbound webhooksMailbox layersMail servers
The agent has an address of its ownSomeone can write to the agent, and the answer comes back from the same address.YesYesVaries by productVaries by productVaries by productYes
Inbound without a public URLAn agent on a laptop or behind a corporate firewall still receives its mail.YesVaries by productNoNoVaries by productVaries by product
SPF, DKIM and DMARC evidence on every inbound messageThe agent can tell a real reply from a forged one before it acts on what the message says.YesNoVaries by productVaries by productVaries by productVaries by product
Replies resolved into threads by the serverThe answer lands in the conversation it came from, without your code tracking Message-IDs.YesYesNoNoYesNo
A hold-and-approve step before mail leavesA person can stop an agent's message before a customer reads it, and something happens if nobody looks.YesNoNoNoNoNo
Inbound screening for prompt injectionAn email is untrusted input, and the agent is going to act on what it says.Varies by productNoNoNoNoNo
A new agent provisions its own address in one callNo DNS, no domain purchase, and no console visit between deciding and sending.YesYesNoVaries by productNoVaries by product
Runs on your own infrastructure, source includedIdentity infrastructure for your agents is readable code rather than a vendor black box.YesNoNoNoNoYes
MCP tools for the mailboxAn MCP-aware runtime gets an inbox toolset without anyone writing a client.YesVaries by productVaries by productVaries by productYesVaries by product
Works inside a mailbox a person already ownsThe agent triages the mail already sitting in your Gmail or Outlook.NoNoNoVaries by productYesNo
IMAP, POP3 and desktop mail clientsYou open the mailbox in the client you already use.NoNoNoNoYesYes
Campaign volume and deliverability toolingMillions of messages a month, warmed addresses, and the reporting a marketing team expects.NoNoYesNoNoVaries by product
Calendar and contacts from the same accountScheduling and the address book arrive with the mailbox.NoNoNoNoYesVaries by product

yes  ·  ◐ varies by product  ·  ○ no  ·  as documented on 2026-09-09

What e2a does not do

Seven reasons to close this tab and use something else.

There is no IMAP
e2a is an HTTP API, a WebSocket, webhooks, MCP and a CLI. You cannot point Apple Mail or Outlook at an agent's mailbox, and there is no POP3 either.
It is not your own inbox
e2a gives an agent an address of its own. It does not read the mail already sitting in a person's Gmail or Outlook — for that, connect one of the mailbox layers above.
Attachments stop at 10 MiB
At most ten per message, 10 MiB each and 25 MiB combined, under a 10 MiB ceiling on the whole composed message once subject and bodies are counted. Anything larger travels as a link to somewhere else.
Injection screening is self-hosted only, for now
The inbound scan that flags prompt-injection payloads and routes a message to allow, review or block runs on self-hosted deployments. It is not yet enabled on the hosted service at e2a.dev.
Search is lexical
A boolean filter language over headers, labels, addresses and text, with AND, OR and NOT. It will not find a message by what it meant.
Not every part of /v1 is frozen
The core API and SDKs are GA and frozen as of v1.5.0, but an enumerated list is still beta and can change: contacts and outreach, scheduled sending, templates, the review queue, agent protection config, agent-scoped suppressions, managed unsubscribe, lifecycle diagnostics, delivery metrics, and the thread_id field on message reads.
Bulk is not what this is for
The hosted free tier is 3,000 sends a month with a 100-a-day cap and a “Created with e2a” footer, and the paid plans are sized for agents talking to people rather than for campaigns. If you need a million sends, use one of the sending APIs — you can point e2a's outbound at them.

The field

Everything we looked at.

Read down Choose it when and stop at the line that describes what you are doing. Everything here comes from the page linked on each product; a question one does not answer publicly is left unanswered rather than guessed at.

When to choose each product and when not to, as documented on 2026-09-09.
ProductChoose it whenLook elsewhere ifPublished price
e2aPeople outside your company have to be able to write to your agent, get an answer in the same thread, and you have to be able to establish who actually sent what.The mail already lives in a person's own Gmail or Outlook, or you are sending campaign volume from your product rather than conversation from an agent.Free tier of 3 agents, 3,000 sends a month and 100 a day; $10, $20 and $99 a month above it; inbound free and unmetered on every plan. Self-hosted has no metering at all.
An address the agent owns
AgentMailAn agent needs its own inbox with threaded replies and a searchable record, reached from a REST API, SDKs or MCP.A person has to release the agent's mail before it goes out, or the mailbox has to run on your own infrastructure.Free at 3 inboxes and 3,000 emails a month; $20 and $200 a month above it, then custom.
DevInboxAn agent has to act on the web: sign up for services, receive the verification code, and reply to what arrives.You need evidence about who sent an inbound message, or a hold-and-approve step before a send.Free developer tier at 1,500 operations a month; $12, $39 and $99 a month above it.
RobotomailThe agent should provision itself: one POST to /v1/signup returns an account, an API key and a mailbox.The agent sends more than the plan's daily cap, or you need a channel other than the REST API.Free start at 10 sends and 10 receives a month; $19 to $199 a month above it.
InboundYou want unlimited addresses on one domain with no per-address setup, and everything arriving at a single webhook.Each agent needs its own credential and its own delivery channel rather than one webhook for the whole domain.$4 to $79 a month by volume and domain count, plus $3.50 per extra domain.
An API that sends the mail
ResendYour product sends transactional or marketing mail and you want a modern API, SDKs in nine languages, and an MCP server for the agent writing the code.The receiver is an agent with no public URL, or the reply has to come back into that agent's own mailbox.Free at 3,000 emails a month and 100 a day; $20 a month and up, to custom.
PostmarkYour application has to read the replies its own outbound mail generates, parsed into clean JSON.The mailbox belongs to an agent that has to hold state, or your handler cannot be a public URL.Free at 100 emails a month; paid plans by volume above it.
SendGridYou are already sending at volume through SendGrid and want the replies parsed and posted to the same application.You need the message kept and read back later, or delivered anywhere other than a public URL.Free trial of 100 emails a day for 60 days; $19.95 and $89.95 a month above it, then custom.
Amazon SESThe volume is high, the rest of the stack is already in AWS, and you want to pay by the message.You want an inbox rather than a pipeline, or you do not want to assemble the receiving side yourself.“You pay only for what you use.”
Inbound mail as an HTTP request
CloudMailinYou want inbound mail as JSON, multipart or raw at a webhook, with attachments dropped into your own object storage.The agent has to read its mailbox back later, or cannot host a public endpoint.“The first 10,000 emails per month are free.”
Cloudflare Email RoutingThe domain is already on Cloudflare and you want incoming mail to run a Worker, or forward to a mailbox you have.You need stored mail, an agent-facing API, or sending outside the Workers Paid plan.Forwarding to verified destinations is free on all plans; Email Sending is beta on the Workers Paid plan.
ImprovMXYou want aliases on your domain that fan out to real mailboxes, a webhook, or nowhere at all.The recipient is an agent that needs to hold and reason over its own mail.“Generous free tier”; prices not stated on the page checked.
A layer over a mailbox that already exists
NylasYour application works inside your users' existing Gmail, Outlook, Exchange or IMAP accounts, and you want one API over all of them.There is no human account to connect, or you want the sender to be the agent rather than the person.“Connect up to 5 accounts for free”; paid tiers not stated.
UnipileYou are connecting many users' mailboxes at once and want thread and label management across providers.The mailbox belongs to an agent rather than to one of your users.Seven-day free trial; paid tiers not stated on the page.
Composio GmailAn agent framework needs Gmail tools now, with OAuth, token refresh and per-user scoping handled for you.The agent needs an address of its own rather than access to somebody else's.Free at 100,000 tool calls a month; $29 a month above it.
Run the mail server yourself
PostalYou want your own sending platform — “think Sendgrid, Mailgun or Postmark but open source”.You do not want to operate an MTA, or you need the agent abstraction prebuilt.None — you run it.
StalwartYou want one server speaking SMTP, IMAP, JMAP, POP3, CalDAV, CardDAV and WebDAV, on your own hardware.You want an HTTP contract shaped for agents rather than mail protocols.None — you run it.
Forward EmailYou want forwarding and mailboxes on your own domain, hosted or self-hosted with Docker, with an API and an MCP server.You want per-agent identity evidence and a review step rather than a mailbox service.$0 a month for unlimited domains on forwarding; $3, $9 and $250 a month for sending and mailboxes.

An address the agent owns

  • AgentMail

    “The email inbox API for AI agents.”

    How an agent reaches it
    REST API, Python and TypeScript SDKs, MCP server, webhooks and WebSockets
    Sends and receives
    Both, with threaded replies and multi-party threads
    Whose address
    The agent's own inbox, on a custom domain if you add one
    Sender authentication
    “Custom domains with DKIM, SPF, and DMARC”
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: agentmail.to, 2026-09-09

  • DevInbox

    “Email infrastructure for AI agents” — a persistent inbox “created in milliseconds”.

    How an agent reaches it
    REST API, TypeScript and Python SDKs, MCP server at mcp.devinbox.io, webhooks
    Sends and receives
    Both, with In-Reply-To and References threading headers
    Whose address
    A persistent address per inbox the API creates
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: devinbox.io, 2026-09-09

  • Robotomail

    “Email inboxes your AI agents own.”

    How an agent reaches it
    REST API
    Sends and receives
    Both; sends are capped per mailbox per day by plan
    Whose address
    A default mailbox at signup, custom domains on paid plans
    Sender authentication
    “Auto-configured DKIM, SPF, and DMARC”
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: robotomail.com, 2026-09-09

  • Inbound

    “Email infrastructure built for agent inboxes, webhooks, and automated workflows.”

    How an agent reaches it
    REST API, CLI, webhooks
    Sends and receives
    Both — “send, receive, and reply in thread”
    Whose address
    Unlimited mailboxes on a domain you add
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Repository linked; license not stated

    Source: inbound.new, 2026-09-09

An API that sends the mail

  • Resend

    “The email API for developers. Send transactional and marketing emails at scale with a simple, modern API.”

    How an agent reaches it
    REST API, SDKs in nine languages, CLI, remote and self-hosted MCP servers
    Sends and receives
    Sends; receives by pointing MX records at Resend and processing messages via webhooks
    Whose address
    A domain you verify
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    A self-hosted MCP server; the service itself is hosted

    Source: resend.com, 2026-09-09

  • Postmark

    “Integrate your users' email replies directly into your application.”

    How an agent reaches it
    REST API, SMTP, inbound webhook
    Sends and receives
    Both; inbound arrives as a JSON webhook
    Whose address
    A generated inbound address, or one on your own domain — several per domain
    Sender authentication
    The inbound webhook posts spam scoring and full header details
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: postmarkapp.com, 2026-09-09

  • SendGrid

    The Inbound Parse webhook “parses the contents and attachments for incoming email … then send that data to a URL of your choice”.

    How an agent reaches it
    REST API, SMTP, Inbound Parse webhook
    Sends and receives
    Both; inbound is parsed and POSTed to a URL you host
    Whose address
    A receiving domain whose MX records point at mx.sendgrid.net
    Sender authentication
    The parsed payload carries SPF and DKIM verification results, plus an optional spam check
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: twilio.com/docs/sendgrid, 2026-09-09

  • Amazon SES

    “A cloud-based email service provider that can integrate into any application for high-volume email automation.”

    How an agent reaches it
    Not stated on the page checked
    Sends and receives
    Both; incoming mail is handled through Mail Manager
    Whose address
    A domain you verify
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: aws.amazon.com/ses, 2026-09-09

Inbound mail as an HTTP request

  • CloudMailin

    “The email API for developers … with a simple API and Email to Webhook.”

    How an agent reaches it
    Webhook in JSON, multipart or raw, plus an outbound API
    Sends and receives
    Both, with receiving as the primary product
    Whose address
    An address on a domain whose MX records point at them
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: cloudmailin.com, 2026-09-09

  • Cloudflare Email Routing

    “Route incoming emails to custom addresses, Workers, or external destinations.”

    How an agent reaches it
    Routing rules and the email() handler in a Worker
    Sends and receives
    Receives; sending is a separate beta
    Whose address
    Any address on a domain in your Cloudflare account
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: developers.cloudflare.com, 2026-09-09

  • ImprovMX

    “Easily send & receive emails for your custom domain.”

    How an agent reaches it
    Aliases, a webhook target, SMTP and a JSON send API
    Sends and receives
    Both; forwarding is the primary product
    Whose address
    Aliases on your custom domain
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: improvmx.com, 2026-09-09

A layer over a mailbox that already exists

  • Nylas

    “One API for every email provider on earth” — with agent accounts as a separate product.

    How an agent reaches it
    REST API and webhooks
    Sends and receives
    Both, inside the connected account
    Whose address
    The user's own, at their existing provider
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: nylas.com, 2026-09-09

  • Unipile

    “Connect Gmail, Outlook, and IMAP through a single unified API” with real-time sync and webhooks.

    How an agent reaches it
    REST API with over 100 endpoints, Node SDK, webhooks
    Sends and receives
    Both, inside the connected account
    Whose address
    The user's own, at their existing provider
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: unipile.com, 2026-09-09

  • Composio Gmail

    A hosted Gmail toolkit and MCP server for agent frameworks.

    How an agent reaches it
    Hosted MCP server and direct API integrations
    Sends and receives
    Both, inside the connected Gmail account
    Whose address
    The connected user's Gmail address
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Not documented

    Source: composio.dev, 2026-09-09

Run the mail server yourself

  • Postal

    “A fully featured open source mail delivery platform for incoming & outgoing e-mail.”

    How an agent reaches it
    SMTP, a web interface, and webhooks on delivery events
    Sends and receives
    Both
    Whose address
    Anything on the domains you run
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    MIT

    Source: github.com/postalserver/postal, docs.postalserver.io, 2026-09-09

  • Stalwart

    “All-in-one mail & collaboration server.”

    How an agent reaches it
    SMTP, IMAP, JMAP, POP3, plus web administration and a CLI
    Sends and receives
    Both
    Whose address
    Anything on the domains you run
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    Open source; licence not stated on the page checked

    Source: stalw.art, 2026-09-09

  • Forward Email

    “Free, open-source email service for custom domains.”

    How an agent reaches it
    IMAP, POP3, SMTP, a developer API and an MCP server
    Sends and receives
    Both
    Whose address
    Anything on the custom domains you add
    Sender authentication
    Not documented
    Approval before it sends
    Not documented
    Source available
    “100% Open-Source Software”; licence not stated

    Source: forwardemail.net, 2026-09-09

If something has to reach a person who will never install anything, and answer them in the same thread under a name you can vouch for — that is the mailbox we are building.

e2a is generally available and Apache-2.0 — the hosted service has a free tier, and the same image runs on your own hardware. If we have described your product wrongly on this page, write to [email protected] and we would rather fix it than keep it.