Email testing for any app, product or website The API for automating email tests, works with frameworks like Cypress and Selenium

Test user signups, password resets and anything else!


Trusted by businesses around the world

  • AWeber
  • Slido
  • Epsilon
  • GoodRx
  • Relayr

What is your role?

Mailosaur is for anyone who builds, tests or presents products

I'm a Developer

Automate your test flows and catch broken emails during development, with fake SMTP servers.

I'm a QA

Easily automate email testing and identify critical bugs before they reach the customer.

I'm a Product Manager

Use Mailosaur to test and build high-quality products, applications and websites.

Perform end-to-end testing, with virtual SMTP servers

Test unlimited email addresses

Use an email for every test run, project, team member, or idea you have. Our fake SMTP servers each have their own email address patterns, giving you unlimited email addresses to play with.

Keep your internal environments internal

Prevent internal environments from sending externally, and never email a real customer by mistake!

Perform end-to-end testing, with virtual SMTP servers

Protect your sending reputation

Avoid spam filters & blacklisting

Avoid landing in your customer's spam folder! Quickly identify potential issues and increase the chance of an email getting through.

Improve email deliverability

Use Mailosaur to catch broken links, images, and attachments and check your subject line and HTML for errors and improvements.

Protect your sending reputation

Integrates with everything!

Automate email testing with Mailosaur, whether you're working with Selenium WebDriver directly, wrapping it with Nightwatch.js/RobotFramework, or using SoapUI.

const MailosaurClient = require('mailosaur');
const client = new MailosaurClient('YOUR_API_KEY');

(async () => {
let message = await client.messages.get('SERVER_ID', {
  sentTo: ''

assert.equal(message.subject, 'Password reset request');

// Test all the things...
require "mailosaur"
client ="YOUR_API_KEY")

criteria =
criteria.sent_to = ""

message = client.messages.get("SERVER_ID", criteria)

assert_equal("Password reset request", message.subject)

# And so on...
var client = new MailosaurClient("YOUR_API_KEY");

var criteria = new SearchCriteria();
criteria.SentTo = "";

var message = client.Messages.Get("SERVER_ID", criteria);

Assert.Equal("Password reset request", message.Subject);

// Testing continues...
from mailosaur import MailosaurClient
from mailosaur.models import SearchCriteria
client = MailosaurClient("YOUR_API_KEY")

criteria = SearchCriteria()
criteria.sent_to = ""

message = client.messages.get("SERVER_ID", criteria)

self.assertEqual("Password reset request", message.subject)

# More tests here...
Mailosaur client = new MailosaurClient("YOUR_API_KEY");

SearchCriteria criteria = new SearchCriteria();

Message message = client.messages().get("SERVER_ID", criteria);

assertEquals("Password reset request", message.subject());

// Testing continues...
use Mailosaur\MailboxApi;

$this->client = new MailosaurClient("YOUR_API_KEY");

$criteria = new SearchCriteria();
$criteria->sentTo = "";

// Find summaries of matching messages
$result = $this->client->messages->search("SERVER_ID", $criteria);

// Fetch message detail for a match
$message = $this->client->messages->get($result->items[0]->id);

self::assertEquals("Password reset request", $message->subject);

// Testing continues...

Discover our additional features

  • Advanced analytics

    Test unlimited email addresses on a continuous basis. Improve email deliverability and lower your spam score

  • Preview multiple mailboxes

    Use our web viewer to visually inspect emails and test HTML rendering across clients.

  • Email & SMS testing

    Test your product's email and SMS notifications quickly and consistently, across multiple test cases.

  • Get up and running, fast!

    With a lightning-fast API, Mailosaur's solution is intuitive and highly responsive.

  • Easily searchable

    Capture and test emails in one place, with fake SMTP servers and segregated environments.

  • Data encryption

    Our data is encrypted and compliant with ISO/IEC 27001 industry standards, protecting your data and the data of your customers.

Loved by organisations large and small

But don’t just take our word for it...


Richard Kaye, QA Automation Engineer - AWeber

If you need a tool with a clean API to test emails you send, Mailosaur gives you everything you need for a low monthly price.

Filip Hric, QA Lead - Slido

This is the easiest solution to test your emails and I can show you how it works in 5 minutes.

Harry Wigman, QA Tester - Cold Banana

Mailosaur is a critical part of our test infrastructure, and there's no doubt others will find the service's capabilities useful too.

Let's get started

Mailosaur is for QA & Development Teams and anyone else who builds, tests or presents products.

Try it free 14-day free trial