Migrate from Postmark.

You already like the deliverability discipline. We borrowed the same approach — per-sender complaint cron, auto-suspend at 0.3%. What's new: typed reply events, native injection scanning, MCP-native distribution, and a self-serve Metered tier (coming soon) that extends past Postmark's "contact sales" gate.

Philosophical alignment

What's the same, what's different.

DimensionPostmarkMails.aiNotes
Per-sender complaint cronYes (Message Streams)Yes (architectural primitive)Both auto-suspend bad actors before AWS sees them. Same philosophy.
Transactional vs broadcast isolationMessage StreamsSingle product (transactional only)Mails.ai is pure transactional + agent inbox. We don't sell broadcast.
Sender reputation trackingPer-StreamPer-agent (one identity, many recipients)Agent-level granularity instead of stream-level.
Webhook structureInbound Stream → parsed JSONTyped reply event with intent + entities + injection_scoreMails.ai adds a classifier layer Postmark doesn't have.
Dedicated IP$50/mo per IP (Pro tier)$50/mo per IP (on request, Scale+)Same price, same auto-warmup pattern (on request, Scale+).
Big-sender pricingContact salesMetered tier (coming soon) extends to any volume, no contact-sales gate100% self-serve at any volume once Metered lands.
Code diff

Send + receive, side by side.

Before — Postmark
// Postmark — send via Server API + Inbound Stream parse
import { ServerClient } from "postmark";
const client = new ServerClient(process.env.POSTMARK_TOKEN);

await client.sendEmail({
  From: "sarah@yourcompany.com",
  To: "lead@example.com",
  Subject: "Demo",
  TextBody: "...",
  MessageStream: "outbound",
});

// Inbound Stream webhook delivers parsed JSON — but no intent classification.
app.post("/inbound", (req, res) => {
  const { From, Subject, TextBody } = req.body;
  // Classify intent + extract entities yourself
});
After — Mails.ai
// Mails.ai — typed reply event with intent + entities pre-computed
import { mails } from "@mailsai/sdk";
const agent = mails.agent("sarah", { domain: "yourcompany.com" });

await agent.send({ to: "lead@example.com", subject: "Demo", body: "..." });

agent.onReply((event) => {
  // event.intent          => "schedule_demo"
  // event.entities        => { date, time }
  // event.injection_score => 0.02
});
Closed beta

Built for agents.
Self-serve at every volume.

Public API opens Q3 2026. Drop ~6 lines into your agent and ship.

npmpnpmbunpip
$ npm install @mailsai/sdk
Packages publish with cohort 1 · Q3 2026