Mailinator has been the go-to
throwaway inbox for well over a decade. The free version is genuinely useful for
a quick manual check: type any name @mailinator.com, open the public
inbox, read the email. For automated tests and for anything you'd rather not have
strangers see, though, two things get in the way — the free inboxes are
public and world-readable, and programmatic/API access plus
private domains are on the paid plans.
receivemail.dev covers the same "read a verification email in a test" job, but every address is private to whoever created it (reads are gated by a per-mailbox secret returned at creation), and API access is the only interface — there's nothing to log into and nothing to pay.
| receivemail.dev | Mailinator (free) | Mailinator (paid) | |
|---|---|---|---|
| Price | Free | Free | From ~$59/mo (check current pricing) |
| Signup / account | None | None | Required |
| Inbox privacy | Private — secret required to read | Public — anyone who guesses the name reads it | Private team domain |
| API to read messages | Yes | No (web UI / RSS only) | Yes |
| Private / custom domain | No (shared domain, unguessable address) | No | Yes |
| Retention | Up to 60 min TTL | A few hours, best-effort | Configurable |
| Send email | No | No | No |
| Good for | Automated tests, CI, throwaway checks | One-off manual checks | QA teams needing a private shared domain |
Mailinator's plan names and prices change — see mailinator.com/pricing for the current numbers.
@mailinator.com can see the verification codes
your test triggers — and, if your signup flow leaks anything else (names,
reset links), that too.mailinator.com outright at signup
because it's so well known.receivemail.dev hands you a random address on a less-burned domain and only the holder of the creation secret can read it.
# was: hit https://api.mailinator.com/... with an API token resp=$(curl -s -X POST https://receivemail.dev/mailboxes) addr=$(echo "$resp" | jq -r .address) secret=$(echo "$resp" | jq -r .secret) # ... run your signup against $addr ... curl -s "https://receivemail.dev/mailboxes/$addr/messages" \ -H "Authorization: Bearer $secret"
Full shell + Playwright walkthrough: the CI testing guide.