A Mailosaur alternative for email tests: catch-all inboxes
Mailosaur is a complete testing product: email, SMS, previews and SDKs for every framework. Teams look elsewhere when the daily email limit, the user seats or the one inbox on the entry plan get in the way.
Updated 4 min read
On this page (6)
If you test sign up, password reset or magic link emails, Mailosaur is probably the tool you know. This page is about switching: the limits that send teams looking, when to stay, and how to port the tests. The feature table is on Mailbay vs Mailosaur, and the other switch guides are on the alternatives index.
Why people look for an alternative
- A daily email limit that rejects mail. Personal is based on 500 emails a day, Core on 2,500 [1]. The limit counts received and sent mail together, and once it is hit “further emails are automatically rejected” until midnight UTC [2]. A busy CI day can fail tests for a reason that has nothing to do with your app.
- Seats and inboxes by plan. Personal includes 1 user (up to 3) and 1 inbox; multiple inboxes and 5 seats start on Core, from $50 a month billed annually [1].
- Retention set by the plan. The longest retention you can set depends on your plan [4].
- A ten second default wait.
messages.getwaits 10 seconds by default [5], and the waiting happens in the SDK; the API docs recommend the SDK's get over search because it waits for you [6]. Without one of their SDKs you write the polling yourself.
When to stay with Mailosaur
- You test SMS too, or use its email previews and spam analysis. Mailbay has none of these.
- You want a maintained SDK for your framework. Mailosaur documents Playwright, Cypress, Selenium, Robot Framework, Postman and libraries for Node.js, Java, .NET and Python [7]. Mailbay has a REST API and a CLI, and a general Node SDK coming to npm, but no test framework plugins.
- Your QA team lives in its dashboard and its plans fit your volume. Mailosaur is a mature product; Mailbay is in private beta.
How Mailbay differs
Mailbay is in private beta and free while it runs. The Mailbay prices below are the planned plans from our pricing page; billing is not live yet.
| Feature | Mailbay | Mailosaur |
|---|---|---|
| Test addresses | Any address under your private mailbay.email domain reaches the Catch-all | Any address at INBOX_ID.mailosaur.net [3] |
| Daily limit | None on received mail, which never counts toward a plan; rate limits of 300 recipients per workspace and 100 messages per sending IP in 10 minutes | 500 or 2,500 a day, received and sent together [1] [2] |
| Waiting for an email | In the API: one request blocks up to 120 seconds and returns codes and links | In the SDKs, 10 second default [5] |
| Retention | Kept until deleted, unless you set a period | Capped by plan [4] |
| Sending real mail | From your verified domains, over the API or SMTP | SMTP for test mail only; it does not send to external recipients [8] |
| SMS, previews, spam score |
The Catch-all is the part teams notice first: every test makes up its own address, so there are no inboxes to create or clean up, and parallel workers never read each other's mail. The recording below is a real message sent over SMTP to an address that was never created.
Other options
Mailpit and similar self hosted catchers are free and fast for mail your app sends inside CI, but they do not receive mail from the internet. MailSlurp and Mailinator are hosted testing services like Mailosaur. If a test needs to receive real mail from a third party, use a hosted service.
Moving tests from Mailosaur
- Make a Playground key. The Catch-all lives in the Playground project, so create the API key there.
- Replace the address. Where tests build
something@SERVER_ID.mailosaur.net, buildsomething@CODE.mailbay.emailwith your workspace's code fromGET /v1/me. - Replace the wait. Where tests call
mailosaur.messages.get(serverId, { sentTo }), call Mailbay's wait withtoset to the same address. - Read the code. Mailosaur returns codes in
text.codes; Mailbay returns them incodes, and links inlinks.
// Mailosaur
const email = await mailosaur.messages.get(serverId, { sentTo: address });
const code = email.text.codes[0].value;
// Mailbay: one request that blocks until the mail arrives
const res = await fetch(`${API}/inboxes/${catchAllId}/wait?` +
new URLSearchParams({ to: address, timeout: "30" }), { headers });
const { codes } = await res.json();
const code = codes[0];The complete fixture, config and a passing run are on the Playwright integration page. The idea behind it is explained in catch-all inboxes for end to end tests.
Sources, read on October 14, 2026
- [1]Mailosaur pricing: mailosaur.com/pricing
- [2]Mailosaur, usage limits: mailosaur.com/docs/managing-your-account/usage-limits
- [3]Mailosaur, inboxes: mailosaur.com/docs/inboxes
- [4]Mailosaur, inbox settings (retention): mailosaur.com/docs/inboxes/inbox-settings
- [5]Mailosaur, JavaScript automation: mailosaur.com/docs/automation/javascript
- [6]Mailosaur, API: mailosaur.com/docs/api
- [7]Mailosaur, automation frameworks: mailosaur.com/docs/automation
- [8]Mailosaur, SMTP, POP3 and IMAP: mailosaur.com/docs/inboxes/smtp-pop3-imap
Prices change. If something here is out of date or wrong, email hello@mailbay.dev and we will fix it.
How the catch-all fits a test suite, in three steps, is on Mailbay for QA and test engineers.
Questions
Is there a free Mailosaur alternative?
Mailbay is free while its private beta runs, and its free plan includes a Catch-all on a private domain plus 3,000 emails a month. Self hosted tools such as Mailpit are free too, but they only catch mail on your own network.
Does Mailbay test SMS like Mailosaur?
No. Mailbay is email only. If your tests cover SMS codes, Mailosaur is the better fit.
Can I keep my Playwright tests when I switch?
The test steps stay the same. You replace the Mailosaur client calls with a small fixture that builds a Catch-all address and calls Mailbay's wait endpoint; the Playwright integration page has the whole project.
How long does Mailbay keep test emails?
Until you delete them, unless the workspace sets a retention period. Mailosaur caps retention by plan.
Read next
- Mailbay vs MailosaurMailosaur is a testing tool: email and SMS, previews, spam checks and SDKs for every test framework. Mailbay covers the email part of that and also sends real mail.
- Playwright email testing with a catch-all inboxA Playwright fixture that gives every test its own email address and waits for the mail to arrive. No inboxes to create, no polling loop, and parallel workers never read each other's mail.
- Catch-all inboxes for end to end testsEmail is the step most end to end suites skip, because it is slow and flaky to check. A catch-all domain makes every test its own address, and a blocking wait removes the polling.
Join the beta
Mailbay is in private beta and free while the beta runs: inboxes, sending, your own domains and MCP. We invite people in small batches and read every note on the form.