Most QA teams test email with three shared Gmail accounts and a mock. The accounts collide between runs, and the mock can't tell you anything about delivery, so the bug that matters most (a template that renders wrong in a real client) ships anyway. Reclario gives you a private catch-all domain for $49/mo per domain. Each run makes up its own addresses, mail arrives over real MX, and API keys and webhooks let CI assert on the message that was delivered.
Any address on your domain receives mail the first time something sends to it. Generate one per run in code. There's no account-creation fixture left to flake at 3am, and nothing to tear down.
Mail is received at a real domain over real MX records, which is closer to production than intercepting SMTP in-process. Wrong routing or bad headers show up here.
Subject, body, headers, links, attachments, timestamps. A send() that returned OK only tells you the mail left; pull the message your app sent and check it.
Open the message in a sandboxed renderer and see the images, styling and layout a user would. Automation can't judge how it looks, and a person can in about five seconds.
Read messages from your suite, or have a webhook fire when mail lands and wait on that event instead of an arbitrary sleep.
Reset links, staging data and customer-shaped fixtures stay out of public inboxes. Only members you invite can read your domain, and it isn't listed or searchable.
Pick an address, have your app send to it, and read it back. There's nothing to create beforehand and nothing to clean up after.
One private catch-all domain for the team. $49/mo per domain covers unlimited addresses and unlimited inboxes.
yourteam.reclar.ioPut the run and the test case in the tag so parallel suites never read each other's mail. The address works on the first send.
qa+run-8842@yourteam.reclar.ioFetch the message over the API or wait for the webhook, then assert on subject, body, headers and attachments.
expect(msg.subject)Flaky email tests are almost never about email. Usually four workers are all reading qa@company.com and picking up each other's messages. With unlimited addresses the fix costs nothing: build the address from the run ID and the test name, and each worker reads an inbox no other worker touches. Suites that ran serially because of email can run in parallel.
When a test fails you have the rendered message, the full headers, every attachment and a raw .eml download for the bug report. For scheduling flows, Reclario replies to calendar invites sent to a tagged address; see calendar invite testing. Signup, verification and lifecycle mail are covered in onboarding and transactional email testing. If you're walking a live product as several people (owner, invitee, customer) rather than asserting in CI, read about agent and founder product walks.
qa+run-8842@yourteam.reclar.io receives mail the first time something sends to it. Your fixtures lose the provisioning step (and its failures), and there is no DNS work on your side.qa+run-8842-checkout@yourteam.reclar.io. Two suites running at once won't read each other's mail. Collisions are the usual way a handful of shared test accounts fails, and per-run addresses remove them..eml with full headers and attachments intact. Diff it, attach it to a bug report, or feed it to a parser in your own tests.API keys come with a private catch-all domain: $49/mo per domain after a 14-day free trial (card required). To watch mail land before you wire anything up, the free public sandbox at public.reclar.io takes a work email and no card. To see how other tools compare, read email testing tools compared.
Start free See pricing