Agent Email: Dedicated Addresses, Inboxes, and Reputation for AI Agents
Agent email is email that belongs to an AI agent — its own address, its own inbox, its own reputation. Not a shared noreply, not a forwarded human mailbox.
What agent email is
Agent email is email where the correspondent is an AI agent, not a person. The agent has its own address, its own inbox, and its own sending reputation. It sends messages, reads replies, and participates in threads — all through an API instead of a GUI.
This is different from bolting AI onto a human inbox (Gmail smart compose, Outlook Copilot) and different from a fire-and-forget send API (SendGrid, Postmark). Agent email is bidirectional: the agent sends, the recipient replies, and the agent reads and acts on that reply. For the formal definition, see the agentmail glossary entry.
How to send agent email with Mails.ai
You create an agent and it gets an email address. From that point the agent can send agent email, receive replies, and read them as structured JSON events:
import { createClient } from "@mailsai/sdk" ;
const mails = createClient({ apiKey: process. env. MAILS_API_KEY });
// Create an agent — it gets its own email address immediately
const agent = await mails. agents. create({ name: "support" });
// agent.address → support.yourworkspace@send.mails.ai
// Send agent email — SPF/DKIM/DMARC handled automatically
await mails. messages. send({
from: "support",
to: "customer@example.com" ,
subject: "Your refund #812 is confirmed",
body_text: "We processed your refund. Reply here with questions.",
});
// Read the agent's inbox — replies arrive as structured events
const events = await mails. events. list({
event_type: "message.received" ,
agent: "support",
limit: 10,
});
for ( const e of events. data) {
console. log( e. data. extracted_text); // clean body text
console. log( e. thread_id); // stable thread ID
console. log( e. injection_score); // 0.0–1.0 safety score
}Agent email vs. transactional email
Transactional email is one-directional: your app sends a password reset or a receipt, and the conversation ends. Agent email is bidirectional: the agent sends, the recipient replies, and the agent reads and acts on that reply. This changes the requirements:
- Per-agent identity: each agent sends agent email from its own authenticated address, not a shared
noreply@ - Inbound parsing: replies arrive as structured data (sender, subject, body text, thread ID, attachments), not raw MIME
- Thread reconstruction: the agent reads a conversation as a thread, not disconnected messages
- Prompt-injection scanning: every inbound message is scored before the agent sees it
- Per-agent reputation: bounce and complaint rates are tracked per agent, so one misbehaving agent does not drag down the rest
For the architecture comparison, see the transactional vs. agent email architecture post. For the firewall that keeps agent email safe, see the agent email firewall post.
Agent email with Python
The Python SDK provides the same agent email capabilities. Create an agent, send agent email, and read the inbox:
from mailsai import Client
client = Client() # reads MAILS_API_KEY from env
# Send agent email
client. send_message(
from_agent= "support",
to= "customer@example.com" ,
subject= "Your order has shipped",
body_text= "Tracking: 1Z999AA10123456784. Reply with any questions.",
)
# Read the agent's inbox — replies to agent email arrive as events
events = client. list_events( event_type= "message.received" , limit= 10)
for e in events[ "data"]:
score = e. get( "injection_score")
if score is None or score >= 0.5:
flag_for_review( e) # hold for human review
continue
handle_reply( e[ "data"][ "extracted_text"], e[ "thread_id"])Agent email with MCP
If your agent runs inside an MCP-capable client — Claude Code, Cursor, Cline, Windsurf, or Continue — it can use agent email through the MCP server without writing any SDK code. The MCP server exposes send, receive, and thread operations as tools the agent calls directly, turning any MCP client into an agent email client.
Agent email on a custom domain
By default, agent email is sent from an address on the shared sending domain — for example, support.yourworkspace@send.mails.ai. When your agents need to carry your brand, connect a custom domain and every agent sends agent email as support@yourdomain.com, with SPF, DKIM, and DMARC provisioned automatically.
What every agent email plan includes
- Dedicated agent address: each agent gets its own address with DNS authentication provisioned automatically
- Agent inbox: inbound agent email parsed into structured JSON events with extracted text, thread IDs, and attachments
- Prompt-injection scanning: every inbound message scored before delivery to the agent
- Per-agent reputation: bounce and complaint rates tracked independently so one agent cannot damage another’s deliverability
- Cold-email firewall: unsolicited outreach blocked at the API before transmission, protecting shared email infrastructure
Pricing
Agent email on Mails.ai starts free. The Free tier covers one agent, 3,000 outbound emails, and 3,000 inbound replies a month — no credit card. Pro is $20/month for five agents. Scale is $99/month for unlimited agents and a dedicated IP on request. Every plan includes DNS authentication, injection scanning, and per-agent reputation. For the full AI email agent setup, the management layer across multiple agents, and per-agent routing, see AI email management. See pricing for the full breakdown.
Frequently asked questions
What is agent email?
How is agent email different from a regular email API?
Does each agent get its own email address?
Can my agent read replies to its email?
Is agent email free?
How does agent email handle prompt injection?
injection_score (0.0–1.0) arrives on the event so your code branches on a number — hold anything at 0.5 or above for human review — rather than asking the LLM to notice it’s being attacked.Explore the product
Give your first agent an inbox
Free covers 3,000 emails and 3,000 inbound replies a month, with no card. Upgrade when your agents get busy.
Get your API key