Built for Dev & QA teams

Email testing for your CI pipeline, without the enterprise price tag

mailcatchr gives every test run its own catchall inbox. Point your app at it, send mail, then inspect and assert through the UI, the REST API, the TypeScript SDK, or a real POP3/IMAP client.

  • Free tier, no credit card
  • First mailbox in under two minutes
  • Real SMTP, POP3 & IMAP

Features

Everything you need to test email.
From first send to final assertion.

Catch inbound mail, read it back over real protocols, and assert on it from code, all from one workspace.

Catchall inboxes

Every mailbox is a whole subdomain, so any address on it just works. Generate unique addresses per test, no setup per address.

Real mail protocols

Inbound over real SMTP. Read back over POP3 or IMAP with per-mailbox credentials. Test actual mail clients, not just an API.

REST API + TypeScript SDK

Scoped API keys, a clean REST surface and an SDK for the ergonomics: poll for a message, read bodies, download attachments.

Webhooks

Signed callbacks push mail events into your pipeline the moment a message lands. No polling required.

2FA / TOTP testing

Store TOTP authenticators per workspace and fetch the current code over the API to automate two-factor login flows end to end.

Built for teams

Up to 250 team members on Business, role-based access, and SAML SSO on Business and up. One workspace, one bill.

How it works

Three steps from signup to a green build

No SMTP servers to run, no DNS to configure. Your inbox exists the moment you create it.

  1. Create a catchall mailbox

    Every mailbox gets its own subdomain. Anything sent to *@acme-ci.mailcatchr.com lands in it, no per-address setup.

  2. Point your app at it

    Sign up test users with addresses on your subdomain. Your app sends mail exactly as it does in production.

  3. Assert from your suite

    Long-poll for the message, read the body, pull the 2FA code. From the SDK, the REST API, or a real IMAP client.

// Wait for the password-reset email, then assert on it.
var msg = await mc.AwaitMessageAsync(
    mailboxId,
    to: "alice@acme-ci.mailcatchr.com",
    subject: "Reset your password",
    timeout: TimeSpan.FromSeconds(30));

msg.Should().NotBeNull();
msg!.Subject.Should().Be("Reset your password");

// Read the full body when you need the link inside it.
var detail = await mc.GetMessageAsync(mailboxId, msg.Id);
detail.TextBody.Should().Contain("/reset?token=");

Pricing

Simple pricing. No seat math.

Up to 250 team members on Business, no per-seat pricing. Outbound sending is pay-as-you-go on every tier: $0.50 per 1,000 emails from a prepaid wallet.

Free

$0

forever

Evaluate properly, no credit card.

  • 1 mailbox (catchall subdomain)
  • 100 inbound emails / day
  • 3-day message retention
  • 500 MB storage
  • 1 team member · 1 webhook endpoint
  • 5 API keys · 1 TOTP authenticator
  • Full API, SDK, webhooks & POP3/IMAP
Start free

Need bigger limits, longer retention, or custom terms? Contact sales for a tailored plan.

Prices in USD, excluding taxes. Annual billing is two months free ($290/year for Business).

FAQ

Questions, answered

Do I need a credit card for the free tier?

No. The free tier is a real evaluation environment (one catchall mailbox, 100 emails a day, full API and SDK access) with no card on file.

How does outbound sending work?

Outbound is pay-as-you-go on every tier: you top up a prepaid wallet and sends are debited at $0.50 per 1,000 emails. Recipients are restricted to addresses you control, so test suites can't accidentally spam real users.

What happens to my test data?

Messages are kept for your mailbox's retention window (3 days on Free, up to 30 days on Business; longer windows are available on custom plans) and then deleted, including the stored attachments. You can export your workspace data or delete the whole workspace at any time.

Can my whole team use one account?

Yes. Business includes up to 250 team members with Owner / Admin / Member roles at no per-seat cost, and Business and up can switch the workspace to SAML SSO with your identity provider. Need more seats? Contact sales for a custom plan.

Can I cancel any time?

Yes. You can change or cancel your plan from workspace settings whenever you like. Cancelling keeps Business until the end of the period you've paid for, then drops to Free without deleting your data.

Your next test run deserves a real inbox

Set up your first catchall mailbox in the next two minutes.

Create your free inbox

Free tier · no credit card · cancel anytime