Reliable email tests.
Finally.

Send emails to Plop, fetch via API, assert in tests. No mail server. No flaky waits.

✓ 14-day free trial✓ No credit card✓ Setup in 2 minutes
Email in → JSON outLive demo
1Generate a test address
<inbox>+<tag>@in.plop.email
2Email arrives
Confirm your email
Code: 482913
3Fetch via API
{
  "subject": "Confirm your email",
  "text": "Your code is 482913",
  "from": "hello@acme.co"
}

Three steps to reliable email tests

No mail server setup. No flaky waits. Just a simple API.

01

Send to Plop

Use qa+signup@in.plop.email as your test user's email address.

02

Fetch via API

GET /v1/messages/latest returns the email as JSON instantly.

03

Assert in tests

Extract OTP codes, verify links, and check content.

Built for test automation

Everything you need to test email flows in CI.

Mailboxes + tags

Route flows with mailbox+tag addresses like qa+login@in.plop.email.

REST API

List, filter, and fetch emails. Poll for the latest message.

Scoped API keys

Full access, email-only, or mailbox-scoped keys.

Works with your test framework

Fetch emails, extract codes, assert content.

// Fetch the latest matching email
cy.request({
  method: 'GET',
  url: 'https://api.plop.email/v1/messages/latest?mailbox=qa&tag=login',
  headers: { Authorization: 'Bearer <API_KEY>' },
}).then(({ body }) => {
  const otp = body.data.textContent?.match(/\b\d{6}\b/)?.[0]
  expect(otp).to.match(/\b\d{6}\b/)
  cy.get('[data-testid="otp-input"]').type(otp)
})
Open Source

Open source.
Open book.

Plop is fully open source under the AGPL-3.0 license. Inspect the code, self-host it, or contribute back. Your email testing infrastructure, your rules.

Full transparency

Audit every line. No black boxes, no hidden logic.

Community-driven

Contributions welcome. Shape the future of email testing.

Self-host friendly

Run on your own infrastructure. Full control, full ownership.

License:AGPL-3.0
Free for non-commercial use

Pricing that scales with your inboxes.

Start lightweight, then add mailboxes as you grow.

Starter

One inbox with unlimited tags.

$4.99/mo

Billed yearly ($59.88 / year)

or $6.99 billed monthly

  • 1 email address
  • Unlimited tags
  • 5,000 emails / month
  • 14-day retention
  • Shared domain

Pro

10 email addresses for growing teams.

$39/mo

Billed yearly ($468 / year)

or $49 billed monthly

  • 10 email addresses
  • Unlimited tags
  • 60,000 emails / month
  • 90-day retention
  • Shared domain

Enterprise

Coming soon

Custom domains and advanced routing.

Contact us
  • Custom subdomains
  • Unlimited mailboxes
  • Priority support
  • Custom retention
  • Coming soon
All plans include unlimited tags and API access. Taxes may apply.