Most development teams start by creating a shared Gmail account like qa-tests@gmail.com for email testing. This works for one developer. It breaks the moment two tests run at the same time.

The Shared Inbox Problem

When two test runs share an inbox, OTP codes from run A can be picked up by run B and vice versa. Tests start failing randomly. Developers add longer sleep timers, which makes tests slower. Eventually someone sets up a complex system to serialize tests, which eliminates the benefits of parallel execution.

The Solution: One Inbox Per Test

A disposable email API creates a new inbox on demand. Each test run calls:

POST /v1/inboxes → { "id": "inb_abc", "address": "abc@agentmailr.com" }

The inbox is private to your API key. It receives exactly the emails sent to that address. Parallel test runs never see each other's emails because they each use a different address.

Cleanup Options

You can delete inboxes after each test:

DELETE /v1/inboxes/{id}

Or let them accumulate and clean up in bulk. Since inboxes are free to create and isolated by default, there is no urgency to delete them during a test run.

Works With Any Test Framework

Because the API is REST-based, it works with Jest, Mocha, Pytest, JUnit, RSpec, and any other framework that can make HTTP requests. No special plugins required.

CI/CD Integration

Set your API key as a CI secret and add inbox creation to your test setup. Tests become deterministic, parallelizable, and fast. No IMAP configuration, no Gmail OAuth, no shared state.