
Works with your test platforms
Create inboxes from Playwright, Cypress, Selenium or your own application. Use an official SDK in your language or call the REST API.
Find your SDKCreate unlimited inboxes or connect Gmail and Outlook. Send, receive and process email and attachments through APIs, SDKs and webhooks - for applications, automated tests and AI agents.

Trusted by top companies worldwide



Create unlimited inboxes without running a mail server. Keep permanent addresses for applications or create disposable inboxes for tests. Choose custom domains and aliases, or connect Gmail and Outlook, then manage your messages through APIs or the dashboard.
Explore inboxes

Create inboxes from Playwright, Cypress, Selenium or your own application. Use an official SDK in your language or call the REST API.
Find your SDK
Match the sender, subject or recipient before reading a message. Extract a verification code or link to complete signup, password recovery or another customer journey.
Explore email waits
Give each test or worker its own inbox. Wait for the expected email instead of relying on fixed sleeps or messages left behind by another run.
Explore email testingCreate an inbox, send a message and wait for a reply without building your own mail server. Use official SDKs or call the REST API directly.
JavaScript, TypeScript, Python, Java, C#, PHP, Ruby and more. Existing mail clients can connect through SMTP and IMAP.
Browse APIs and SDKs
Create inboxes, send email and read messages with JavaScript, TypeScript, Python, Java, C#, PHP and more. Or call the REST API directly.
Find your SDK
Verify signup, OTP and password reset flows in Playwright, Cypress and Selenium. Test email under load with k6 and JMeter.
Explore test integrations
Give agents an inbox through MCP and APIs. Receive requests, draft replies and connect email to Zapier workflows with scoped account access.
Connect your agentFind the email you need, extract useful content and turn incoming messages into actions. Read headers, query HTML and stream attachments through the same API.
Explore the API

Wait for messages that match your sender, subject or recipient. Extract codes and links with pattern matching, or use AI to turn message content into structured fields.
Match and extract content
Trigger your endpoint when email arrives. Forward matching messages, route aliases and send automatic replies without repeatedly checking an inbox.
Automate incoming email
Stream attachments and raw messages, inspect headers and MIME parts, and process content at scale. Use HTTP APIs alongside SMTP and IMAP for your existing mail tools.
Work with files and contentCreate webhooks to send email events to your endpoint. Start a support workflow, process an incoming order or notify your application without repeatedly checking an inbox. Inspect delivery history and HTTP responses when something needs attention.
Create an email webhook
Create forwarders to send matching email to another address. Set up automatic replies to acknowledge incoming requests.
Configure forwarding
Turn email and PDF attachments into structured JSON. Extract invoice numbers, totals and order details using AI, schemas and OCR.
Explore AI data extraction
Create rulesets to allow or block addresses and domains. Apply rules to one inbox or your account, and test them before relying on them.
Configure inbox rulesetsCreate an inbox for your browser test, trigger signup or password recovery, then wait for the matching message. Read a verification code or follow a magic link to complete the flow.
Use MailSlurp with Playwright, Cypress, Selenium and CI. Bounded waits and message matching help parallel tests read the right email.
Explore end-to-end testingimport { test, expect, Page } from '@playwright/test';
import MailSlurp from "mailslurp-client";
test.describe('test email login with playwright', () => {
test('can login and verify email address with mailslurp', async ({ page }) => {
const apiKey = process.env.API_KEY;
expect(apiKey).toBeDefined();
// load playground app
await page.goto("https://playground.mailslurp.com");
await page.click('[data-test="sign-in-create-account-link"]');
// create a new inbox
const mailslurp = new MailSlurp({ apiKey })
const password = "test-password"
const { id, emailAddress } = await mailslurp.createInbox()
// fill sign up form
await page.fill('input[name=email]', emailAddress);
await page.fill('input[name=password]', password);
await page.click('[data-test="sign-up-create-account-button"]');
// wait for verification code
const email = await mailslurp.waitForLatestEmail(id)
// extract the confirmation code (so we can confirm the user)
const code = /([0-9]{6})$/.exec(email.body)[1];
// enter confirmation code
await page.fill('[data-test="confirm-sign-up-confirmation-code-input"]', code);
await page.click('[data-test="confirm-sign-up-confirm-button"]');
// fill out username (email) and password
await page.fill('[data-test="username-input"]', emailAddress);
await page.fill('[data-test="sign-in-password-input"]', password);
// submit
await page.click('[data-test="sign-in-sign-in-button"]');
await page.waitForSelector("[data-test='greetings-nav']")
});
});
Use a shared dashboard to inspect messages and manage accounts. Organize development, staging and production environments, with enterprise roles and permissions for the people using them.
Enterprise options include SAML/OIDC sign-in, SCIM provisioning and audit logs. Choose the team controls your organization needs.
Explore enterprise features
Check email quality, warm up your senders, extract structured data and add phone numbers to your applications.
See the delivered email on supported clients and devices, including mobile and dark mode.

Find broken links, missing images, accessibility issues and HTML/CSS problems.

Check whether your email reaches inbox, promotions or spam in real provider mailboxes.

Connect a sender and gradually build sending activity with automated warmup schedules and reputation checks.

Turn email, SMS and attachments into structured fields using your own schema. Connect extracted data to your application.

Create real phone numbers to send and receive SMS. Test verification codes and automate messages through APIs.

Yes. MailSlurp inboxes receive real email. Create addresses for temporary tests or ongoing applications, use a custom domain, or connect a Gmail or Outlook account.
Unlimited inboxes describes address creation, not unlimited message volume or storage. Check the plan and usage allowances for the workloads you want to run. View plans
You can create accounts and inspect messages in the dashboard. APIs, SDKs, SMTP, IMAP and webhooks let developers automate those workflows.
Yes. Receive email and attachments for applications, route messages with webhooks and forwarding, extract structured data, or give AI agents access to email.
Create an email address, receive a message and connect it to your application.