Now in private beta

Email testing
infrastructure that ships.

A dedicated SMTP sink with a full REST API. Every email your app sends — captured, inspected, and searchable in milliseconds.

14-day free trialNo credit cardCancel anytime
inboxlens.neio.ai — acme
LIVE
All messages3

alice@acme.inboxlens.neio.ai

Welcome to Acme! Verify your email

0spassed

bob@acme.inboxlens.neio.ai

Your password reset link

1mpassed

test+order@acme.inboxlens.neio.ai

Order #1042 confirmed — ships today

4mchecking
API Response200 OK · 38ms
{
  subject: "Welcome to Acme!",
  from: "hello@acme.com",
  spam_score: 0.4,
  links: [3 verified]
}

< 1s

Delivery

REST + WS

API

99.9%

Uptime

Features

Built for every corner of your email pipeline

From SMTP capture to link validation, everything you need to ship email features with confidence.

Real SMTP sink

A real MX-record backed SMTP server. Point Nodemailer, SendGrid, or any client at it and emails arrive in under a second.

REST API + SDKs

Query by recipient, subject, tag, or timestamp. Official Node.js and Python SDKs. Integrate with any test runner in minutes.

WebSocket feed

Real-time push notifications the instant an email lands. No polling loops, no artificial delays in your test suite.

Spam scoring

Every message is scored by SpamAssassin. Know if your email will hit junk folders before your users find out.

Link analysis

Automatically extract and validate every link in the email body. Catch 404s and broken redirects before your users click.

Outbound webhooks

Push email events to CI, Slack, or your own system. HMAC-signed payloads with exponential backoff retries.

Quick Start

Up and running in 60 seconds

Install the SDK, point it at your workspace, and start asserting on emails — no SMTP credentials, no polling loops, no flaky tests.

  • Works with Jest, Vitest, Mocha, and Playwright
  • TypeScript types included out of the box
  • Mailosaur-compatible API for painless migration
test/email.test.ts
$npm install @inboxlens/sdk
import { InboxLens } from '@inboxlens/sdk';const inbox = new InboxLens({ apiKey: 'il_live_...' });// Wait for the welcome emailconst email = await inbox.messages.waitForLatest({to: 'user@acme.inboxlens.neio.ai',});expect(email.subject).toBe('Welcome to Acme!');

Pricing

Simple, predictable pricing

14-day free trial on all plans. No hidden fees. Cancel anytime.

Most popular

Pro

$19/mo

For indie developers and small teams.

  • 50,000 messages / month
  • 3-day retention
  • 3 workspaces
  • REST API + SDK access
  • Webhook notifications
  • Email support
Start free trial

Team

$49/mo

For growing engineering teams.

  • 200,000 messages / month
  • 7-day retention
  • 10 workspaces
  • All SDK integrations
  • WebSocket live updates
  • Analytics dashboard
  • Priority support
Start free trial

Enterprise

Custom

For large orgs with compliance requirements.

  • Unlimited messages
  • Unlimited retention
  • Unlimited workspaces
  • SSO / SAML
  • Dedicated instance
  • SLA guarantee
  • Dedicated support
Contact sales