MailSlurp logo

Email and SMS testing. From signup to signed in.

Give your automated tests real inboxes and phone numbers. Receive verification codes, follow magic links and check password resets in Playwright, Cypress or your own test suite.

Email and SMS verification represented by an envelope, phone and lock

Trusted by teams at

  • Broadcom
  • Scraper
  • Trivago
  • Avast
  • Wolt
  • Panasonic
  • Broadcom
  • Scraper
  • Trivago
  • Avast
  • Wolt
  • Panasonic

A fresh inbox for every test.

Create disposable email addresses in code and send to them from your application. Each test can receive its own real messages, without shared Gmail accounts, manual cleanup or a mail server to maintain.

Keep an inbox for repeated checks or set an expiry for temporary test data. Use the dashboard to inspect a failure and the API to make it reproducible.

Explore test inboxes
Separate inboxes for independent test runs
Email address on a custom domain

Your addresses and domains

Generate addresses on demand or use your own domain and local parts to test the email addresses your application supports.

Use a custom domain
An inbox and hourglass representing bounded waits for email

Wait for the right message

Wait within a timeout and match the sender or subject. Keep each worker's messages separate when tests run in parallel.

Email HTML and EML files available for inspection

Check more than delivery

Assert the subject, recipients, HTML and text. Inspect headers and attachments to catch broken receipts, reports and notifications.

Inspect attachments

Finish the journey your customer starts.

A signup test should reach the signed-in screen. Receive the actual confirmation email, extract its link or code, and continue in the browser. Test password resets, invitations and passwordless login the same way.

Combine email and SMS in one suite to cover multi-factor authentication and recovery paths before a release.

Explore authentication testing
An email verification link being selected
Email and phone verification

Email OTP and magic links

Read the delivered message, extract a one-time code or URL, and complete the verification step in your test.

Mobile phones representing SMS verification

SMS verification and MFA

Add a dedicated phone number to test SMS codes, second-factor challenges and phone-based account recovery.

Explore SMS testing
Repeated email checks

Repeatable release checks

Run the same checks after each change. Retain message IDs with failed tests so your team can investigate what arrived.

Fits the tests you already write.

Keep your existing Playwright, Cypress or Selenium suite. MailSlurp supplies the inboxes, numbers and message APIs; your test framework controls the browser and assertions.

Use official SDKs for JavaScript, TypeScript, Python, Java, C#, PHP and more, or call the REST API directly.

Find your SDK

Your first email test, in three steps.

Start with a single signup or password reset, then bring the same pattern into CI.

Create a test email address
01

Create a test inbox

Get an inbox ID and email address from the API. Use a separate inbox for each test or worker.

Receive an authentication message
02

Trigger the real message

Submit the address in your application. Wait for its email and extract the link, code or content you need.

Playwright, Cypress, Selenium and k6 test frameworks
03

Assert the result

Finish the browser flow and check the outcome. Add the test to your existing suite and run it in CI.

Questions about automated email and SMS testing

How can I extract an email OTP inside a Cypress test?

Create a MailSlurp inbox for the Cypress test, submit its address through your signup or login flow, then wait for the matching message through the MailSlurp API. Extract the OTP with a pattern, enter it in the browser, and keep the received email with the test result when a failure needs investigation. Read the Cypress email testing guide.

How do I test signup emails in Playwright without shared Gmail?

Provision a fresh MailSlurp inbox in the Playwright test or worker fixture and use that address during signup. The test can wait for the real delivered email, open its verification link, and finish the browser journey without shared credentials, inbox cleanup, or messages left by another run. Read the Playwright email testing guide.

How do I create an isolated inbox for every automated test run?

Call the MailSlurp inbox API during test setup and store the new inbox ID and email address with that run. Create one inbox per worker or scenario, apply an expiry when appropriate, and wait by inbox ID so parallel builds never read one another's messages. Read the inbox creation guide.

Make your next signup test a complete one.

Create a free account, receive your first test email and bring the result into your test suite.

Independent inboxes ready for your first tests