Email API That Auto-Handles Bounces, Complaints, and Spam Traps for Singapore Sends
Bounces, complaints, and spam-trap risk handled automatically — per-agent reputation scoring, platform-wide suppression, and uptime monitoring from Asia.
What “auto-handle bounces, complaints, and spam traps” means
When a developer searches for an email API that handles these three things automatically, the underlying need is deliverability on autopilot: send the message, and let the platform deal with the fallout when an address hard-bounces, a recipient marks it as spam, or mail lands on a spam trap. Mails.ai runs this by default for every agent — there is no deliverability dashboard to set up, no cron to write, and no list-cleaning workflow to maintain.
Bounce handling: automatic suppression and per-agent pause
Every hard bounce is logged against the agent that sent it. Two things happen immediately:
- Platform-wide suppression. The address is added to a global suppression list checked on every send, from every agent on the platform. No agent can send to it again.
- Per-agent rate tracking. Each agent’s bounce rate is computed over a rolling 30-day window. Any agent crossing 5 % bounces (once it has sent at least 20 messages) is auto-suspended until its rate recovers. If the workspace’s mail as a whole crosses the line, every agent in it pauses.
There is no manual bounce-list import and no weekly CSV export to review. The suppression check is enforced at send time, inline, before the message leaves:
import { createClient } from "@mailsai/sdk" ;
const mails = createClient({ apiKey: process. env. MAILS_API_KEY });
// Send — bounce suppression is checked inline, before the message leaves.
await mails. messages. send({
from: "support",
to: "customer@example.com" ,
subject: "Your order has shipped",
body_text: "Tracking number: SG-8812-MY. Reply with any questions.",
});
// Read replies — each arrives as a structured, scored event.
const events = await mails. events. list({
event_type: "reply.received" ,
agent_id: "support",
limit: 5,
});
for ( const e of events. data) {
console. log( e. data. extracted_text);
console. log( e. data. thread_id);
}Complaint handling: 15-minute cron and workspace-level enforcement
A per-sender complaint cron runs every 15 minutes. When an agent’s complaint rate crosses 0.3 % over 30 days (with a minimum of 20 sends), it auto-pauses. Every complaint also suppresses the address across the platform. If a workspace’s mail as a whole crosses the complaint line, every agent in the workspace pauses — a safeguard that prevents a badly behaving agent from being replaced by another one in the same account.
This is the same enforcement whether you are sending from Singapore, from the US, or from anywhere else — the complaint cron does not distinguish by sender or recipient geography.
Spam-trap avoidance: why the cold-email firewall matters
Spam traps are addresses operated by ISPs and anti-spam organisations that should never receive mail. They come in two varieties: pristine traps (never been a real inbox) and recycled traps (abandoned addresses repurposed as monitors). The single biggest source of spam-trap hits is unsolicited outreach to purchased or scraped lists.
Mails.ai blocks cold outreach at the API, not in a policy document. Every outbound message is classified before it leaves, and unsolicited mail returns a 422 cold_email_prohibited error. That boundary prevents the pattern that causes most trap hits in the first place. Combined with automatic suppression of hard-bounce addresses (which may later be recycled as traps), the spam-trap surface is minimised without manual list-cleaning on your side.
Sending from Singapore
Email deliverability is not determined by where you send from — it is determined by authentication, reputation, and content. Mails.ai handles all three:
- Authentication. Every send is DKIM-signed and DMARC-aligned. If you use the shared domain, the DNS records are already published. If you bring a custom domain, Mails.ai generates the DKIM and SPF records for you to add, and verification is automatic.
- Reputation. Per-agent scoring tracks bounce rate, complaint rate, and engagement over a rolling 30-day window. The shared sending infrastructure has an established record, so your first send inherits it rather than starting cold.
- Monitoring. Uptime is monitored from four regions including Asia. The API, TypeScript SDK, Python SDK, and MCP server work from any location without region gates or geo-IP restrictions.
Singapore-based teams sign up at the same URL, use the same API key, and get the same deliverability infrastructure as any other region. Pricing is global — there are no region surcharges.
What the reputation model tracks
Each agent has its own reputation score, computed from real engagement signals over the last 30 days:
- Reply rate — real engagement from recipients, not synthetic warmup.
- Bounce rate — hard bounces against sends. Past 5 %, the agent auto-suspends.
- Complaint rate — spam complaints against sends. Past 0.3 %, the agent auto-pauses.
The score is queryable via the API or the mails_get_reputation MCP tool — you see what the platform sees. For the full reputation model, see the per-agent reputation graph.
Pricing
Every plan includes automatic bounce handling, complaint monitoring, suppression, and injection scanning — they are not add-ons. Free covers 3,000 emails and 3,000 inbound replies a month with one agent, no credit card required. Pro is $20/month for 50,000 emails and 50,000 inbound replies across five agents. Scale is $99/month for 250,000 emails, 500,000 inbound replies, and unlimited agents. Yearly billing saves two months. See pricing for the full breakdown, or email infrastructure for AI agents for the full stack beneath the API. For dedicated IP options, see email service that handles dedicated IPs and warmup options.
Frequently asked questions
How does the API auto-handle bounces?
How does the API auto-handle complaints?
How does the API prevent spam-trap hits?
cold_email_prohibited error. Combined with automatic suppression of hard-bounce addresses (which may later become recycled traps) and per-agent reputation scoring, the spam-trap surface is minimised without manual list hygiene on your side.Does the API work well for sending from Singapore?
Do I need to clean my bounce list manually?
What does the email API cost for Singapore-based teams?
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