DEV Community

sms-florin
sms-florin

Posted on Originally published at receivemail.dev

A real inbox for your test suite, no signup: I built receivemail.dev

Ever needed to test a signup flow, a "verify your email" link, or a password reset — and had to either burn a real personal inbox or wire up some heavyweight mail-testing service just to check one email arrived?

I built receivemail.dev for exactly that. One API call gets you a real, receiving email address. No signup, no account, no SMTP config.

# create a mailbox (default: expires in 15 min)
curl -X POST https://receivemail.dev/mailboxes
# => {"address":"a1b2c3d4e5f6@receivemail.dev","expiresAt":"...","secret":"..."}

# trigger your app's email, then poll:
curl https://receivemail.dev/mailboxes/a1b2c3d4e5f6@receivemail.dev/messages \
  -H "Authorization: Bearer <secret from above>"
# => {"address":"...","messages":[{"from_address":"...","subject":"...","body_text":"..."}]}
Enter fullscreen mode Exit fullscreen mode

That secret returned at creation is the only credential — there's no login. It's the same "just enough auth, no account system" pattern as a lot of the disposable-testing tools I like using myself.

How it's built: fully serverless — Cloudflare Email Routing receives the actual mail, a Worker parses it and stores it in D1, a small REST API serves it back. No shared infra with anything else I run, so it's isolated by design.

It's free. Cloudflare's free tier (100k Worker requests/day, 5M D1 reads/day, unlimited Email Routing) covers this comfortably at the traffic I'd expect, so there's no billing to worry about — 20 mailbox creates/min per IP, 60-minute max lifetime, that's the whole limit.

Source: https://github.com/flovoice53-tech/receivemail-worker

I also build sms-florin (rent a real UK phone number for SMS/OTP testing) and otp-watch (synthetic monitoring — does your OTP actually arrive, and how fast?) — this fills the email-side gap in the same "test real verification flows without burning a real identity" story.

Feedback welcome, especially if you hit the rate limits and need something higher-volume.

Top comments (0)