Trusted by QA teams worldwide — we safely process millions of emails every month.

Mailisk gives QA and engineering teams one focused place to test inbound email, outbound email, SMS, MFA, agent workflows, and deliverability signals without building custom inbox infrastructure.
Capture real emails during Cypress, Playwright, and API tests. Validate verification links, password resets, notifications, and receipts without relying on mocks.
Read inbound SMS messages from dedicated test numbers and assert one-time passwords, passwordless logins, and MFA steps from the same suite.
Generate authenticator app codes and manage saved virtual TOTP devices so tests can cover enrollment, challenge, and recovery flows.
Let coding agents create test addresses, wait for inbound emails, and extract codes or links through Mailisk MCP during development and QA.
Inspect SPF, DKIM, DMARC, DNS, header, and content signals from received emails to catch obvious deliverability problems before release.
Test emails with attachments and retrieve files through the dashboard or API. Attachments remain available until the message expires.
Give each project its own namespace and use unlimited generated addresses under your Mailisk subdomain for isolated, repeatable tests.
Emails, attachments, and SMS content are short-lived test data. They are deleted automatically at expiry and stored on EU-based infrastructure.
Send emails to Mailisk addresses, or send outbound test emails through the API
You can then inspect messages, attachments, and delivery state from your tests
Mailisk test flow
Playwright with the Node SDK
import { test, expect } from "@playwright/test";
import { MailiskClient } from "mailisk";
const mailisk = new MailiskClient({
apiKey: process.env.MAILISK_API_KEY,
});
test("verifies a password reset email", async ({ page }) => {
const namespace = "qa-team";
const inbox = `reset-${Date.now()}`;
const email = `${inbox}@${namespace}.mailisk.net`;
await page.goto("/password/forgot");
await page.getByLabel("Email").fill(email);
await page.getByRole("button", { name: "Send reset link" }).click();
const { data } = await mailisk.searchInbox(namespace, {
to_addr_prefix: inbox,
subject_includes: "Reset your password",
});
const resetUrl = data[0].text.match(/https:\/\/\S+/)?.[0];
expect(resetUrl).toContain("/password/reset");
await page.goto(resetUrl);
await expect(page.getByRole("heading", { name: "Reset password" })).toBeVisible();
});Response preview
{
"total_count": 1,
"data": [
{
"to": "reset-1842@qa-team.mailisk.net",
"subject": "Reset your password",
"text": "Open https://app.example.com/password/reset?t=token_abc123",
"received_date": "2026-05-30T07:28:36.000Z",
"attachments": []
}
]
}
Integrate Mailisk with testing frameworks like Playwright,Cypress, easily test the whole user flow. From email verifications to passwordless sign-ins.
Test email delivery and ensure transactional and drip emails arrive where they need to.

Receive and test emails without sending them to real users. With unlimited email addresses you can test real automations with no risk of the emails going to real users.

Never worry about how the received emails will look in the users inbox, preview them right in the dashboard. Skip sending test emails to yourself.
Mailisk has a simple and transparent pricing system. No credit card required.
Start for free and then scale as you need.
Additional volume that can be added to your plan.
Available by request
Email receive
Inbound volume above your plan.
From $0.25 / 1,000 emails / month
Email send
Outbound volume above your plan.
From $0.25 / 1,000 emails / month
SMS
Inbound SMS messages.
From $0.05 / message
Namespaces are unique subdomains under which you can receive emails. Every free user gets one random namespace, paid users can choose custom namespaces.An example of a namespace is hello@{namespace}.mailisk.net. You can read more about namespaces here.
Paid plans can have temporary egress without any hard limits. If you frequently exceed your monthly usage we will reach out.
The maximum email size is 10MB. Emails larger than this are rejected. If you feel your use case needs a higher size limit, please reach out.
Yes, Mailisk supports attachments on all plans. The attachments are stored and are available until the email expires.
Yes. Free plans can send outbound test emails to addresses in the same namespace. Paid plans can also send through the API to verified email addresses or verified domains, so you can test full transactional email flows without using your production email provider.
Yes. Paid plans can request a dedicated SMS number from the dashboard and capture inbound texts via the UI or API. If you need outbound SMS or higher limits, please reach out to contact@mailisk.com.