A private, free Mailinator alternative for verification emails

Mailinator's free inboxes are public — anyone can read them. receivemail.dev gives you a private throwaway inbox over one API call, still free, still no signup.

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.

Side by side

receivemail.devMailinator (free)Mailinator (paid)
PriceFreeFreeFrom ~$59/mo (check current pricing)
Signup / accountNoneNoneRequired
Inbox privacyPrivate — secret required to readPublic — anyone who guesses the name reads itPrivate team domain
API to read messagesYesNo (web UI / RSS only)Yes
Private / custom domainNo (shared domain, unguessable address)NoYes
RetentionUp to 60 min TTLA few hours, best-effortConfigurable
Send emailNoNoNo
Good forAutomated tests, CI, throwaway checksOne-off manual checksQA teams needing a private shared domain

Mailinator's plan names and prices change — see mailinator.com/pricing for the current numbers.

Why "public inbox" matters in a test

receivemail.dev hands you a random address on a less-burned domain and only the holder of the creation secret can read it.

When Mailinator is still the right call

Moving a test over

# 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.

Other alternatives people compare