Email addresses your tests can read.
Register a disposable address over HTTP, let your system under test send mail to it, and poll for the message — about a second after SMTP delivery. No inbound network access, no tunnel, no relay. It works from a CI runner.
# 1. Register an address
curl -X POST https://api.fabricatedemail.com/subscriptions \
-H "Authorization: Bearer $TEMPMAIL_KEY" \
-H 'Content-Type: application/json' \
-d '{"localPart":"run-8f2c1d94a7b30e56","ttlSeconds":3600}'
# 2. Wait for the mail. The request holds open for up to 30 seconds.
curl "https://api.fabricatedemail.com/subscriptions/$SID/messages?wait=30" \
-H "Authorization: Bearer $TEMPMAIL_KEY"
Know this before you buy
Cloudflare Email Routing rejects inbound mail that fails both SPF and DKIM, mail that fails the sending domain's DMARC policy, and mail from blocklisted IP addresses — before our service runs, and we cannot switch it off. Mail from an unauthenticated development or staging SMTP server disappears with no trace: no message, no error.
Test mail must come from a properly configured sender (Amazon SES, SendGrid, Postmark, or your own server with SPF, DKIM and DMARC in DNS). The same edge check is free abuse protection, which is why we keep it — but it is a real limitation, and it is on this page rather than buried in a FAQ. The full list of reasons a message may never arrive is in the documentation.
A second consequence of running a disposable-mail domain: it will end
up on public disposable-email blocklists, so you cannot reliably use a
@fabricatedemail.com address to sign up on a
third-party site. Testing your own system is unaffected.
API-first, for CI
Six endpoints, one bearer token, JSON in and out. A long poll returns the moment mail lands, so a passing test costs one request and about a second.
One-time codes, extracted
Ask for the codes and links in a message and skip the regular expression. How it works, and what it deliberately does not promise.
An MCP server
A coding agent gets the same six operations as tools, on the same key and the same limits. Connect one.
Mail kept for 24 hours
On every tier. Tests read their mail in seconds, and holding it longer would only enlarge what we store about other people.
An additive contract
New fields and endpoints ship at any time; anything that would break a working client gets a new path prefix and six months of overlap. The policy.
Not a temp-mail website
There is no page here where you read a stranger's mail in a browser. This is a tool for developers and pipelines, and nothing else.
Start reading
Getting started takes you from an API key to a green test. The HTTP API contract is self-contained: every endpoint, status code, limit and assertion recipe a client project needs, with an OpenAPI reference beside it.