Build and test products that work!
Whether you are performing exploratory tests or setting up a full end-to-end automation suite.
Automated testing
Mailosaur lets QA and Development teams capture, test and analyze email and SMS messages using their existing test framework or language.

Manual testing
Catch bugs before your customers do! Pinpoint defects in critical workflows, such as account activation and password resets before they get released.

Essential to any QA team
Mailosaur is a key addition to any reliable suite of test tools or frameworks, giving you full confidence in the most critical workflows of your application.




Build reliable, high-quality products, by performing end-to-end tests with Mailosaur
Capture & test emails
Use a new email address for every test run, project, team member, or idea you have! Integrate the results into your existing test framework.
SMS testing
Create phone numbers that let you perform end-to-end tests of critical workflows, such as security verification checks.
Simulate user interactions
Build out real-world test scenarios that perform common user actions such as following links in emails, replying to messages and triggering web beacons.
Protect your reputation
Prevent internal environments from sending externally, and never email a real customer by mistake!
Integrates with your test framework!
Automate email and SMS testing with Mailosaur, whether you're working with Cypress, Selenium, Webdriver.io, Robot Framework or anything else...
Start a free trial
Try it free for 14 days. No credit card required. Cancel anytime.
Create an accountconst MailosaurClient = require('mailosaur');
const mailosaur = new MailosaurClient('YOUR_API_KEY');
(async () => {
const email = await mailosaur.messages.get('SERVER_ID', {
sentTo: 'someone@SERVER_ID.mailosaur.net'
});
assert.equal(email.subject, 'Password reset request');
})();
// Set API key in configuration
cy.mailosaurGetMessage('SERVER_ID', {
sentTo: 'someone@SERVER_ID.mailosaur.net'
}).then((email) => {
cy.log('Password reset request:', email.subject);
});
MailosaurClient mailosaur = new MailosaurClient("YOUR_API_KEY");
SearchCriteria criteria = new SearchCriteria();
criteria.withSentTo("someone@SERVER_ID.mailosaur.net");
Message email = mailosaur.messages().get("SERVER_ID", criteria);
assertEquals("Password reset request", email.subject());
from mailosaur import MailosaurClient
from mailosaur.models import SearchCriteria
mailosaur = MailosaurClient("YOUR_API_KEY")
criteria = SearchCriteria()
criteria.sent_to = "someone@SERVER_ID.mailosaur.net"
email = mailosaur.messages.get("SERVER_ID", criteria)
self.assertEqual("Password reset request", email.subject)
var mailosaur = new MailosaurClient("YOUR_API_KEY");
var email = mailosaur.Messages.Get("SERVER_ID", new SearchCriteria() {
SentTo = "someone@SERVER_ID.mailosaur.net"
});
Assert.Equal("Password reset request", email.Subject);
require "mailosaur"
mailosaur = Mailosaur::MailosaurClient.new("YOUR_API_KEY")
criteria = Mailosaur::Models::SearchCriteria.new()
criteria.sent_to = "someone@SERVER_ID.mailosaur.net"
email = mailosaur.messages.get("SERVER_ID, criteria)
assert_equal("Password reset request", email.subject)
use Mailosaur\MailosaurClient;
$mailosaur = new MailosaurClient('YOUR_API_KEY');
$criteria = new SearchCriteria();
$criteria->sentTo = 'someone@SERVER_ID.mailosaur.net';
$email = $mailosaur->messages->get('SERVER_ID', $criteria);
$this->assertEquals('Password reset request', $email->subject);
Start a free trial
Try it free for 14 days. No credit card required. Cancel anytime.
Create an accountDiscover our features
Email Testing
Automate email tests, like account verification and password resets.
SMS Testing
Build end-to-end SMS tests, for processes such as multi-factor authentication.
Client Libraries
Get started in seconds with Cypress, Selenium or any other language or test framework.
Unlimited email addresses
An infinite number of instantly available email addresses for every test run or suite.
Follow links and verification codes
Grab links and follow them like a customer would, trigger tracking beacons or pull verification codes from email or SMS.
Virtual SMTP Servers
Catch every email on your development and staging environments, so they never reach a customer.
Message viewer
Manually test messages in an easily-searchable web client, specifically designed for email & SMS testing.
Forwarding
Automatically forward emails to your regular mail client via easy to customise rules.
Sending & Replying
Emulate real user interactions, by sending or replying to emails.
Set your own email domain
Create easily identifiable email addresses for each test run or suite.
Spam Analysis
Improve email quality and deliverability by lowering your spam score.
POP3 Support
Access your test email on any mail client, whether on a laptop, tablet or phone, via POP3.
Single Sign-On
Meet your company's compliance obligations by authenticating using SAML or OpenID Connect providers (e.g. Okta).
Security & Trust
With comprehensive Information Security and GDPR-compliant controls, we protect your data and the data of your customers.
Loved by organisations large and small
But don’t just take our word for it...
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.
— Richard Kaye, QA Automation Engineer - AWeberThis is the easiest solution to test your emails and I can show you how it works in 5 minutes.
— Filip Hric, QA Lead - SlidoMailosaur is a critical part of our test infrastructure, and there's no doubt others will find the service's capabilities useful too.
— Harry Wigman, QA Tester - Cold Banana