Email verification tests often fail for a reason that is not in the API at all: two test runs are reading or deleting the same inbox. A burner email address can keep test data away from real users, but it does not automatically give each run ownership of that address.
The useful abstraction is a database lease. A test run reserves one mailbox for a limited period, uses it through a small REST API, and releases it when finished. PostgreSQL becomes the source of truth for ownership, expiry, and safe retries.
Why a test mailbox should have an owner
Without an owner, a test usually follows this pattern:
Create or select an inbox.
Trigger email verification.
Poll until a message appears.
Delete the inbox during cleanup.
That looks fine on one laptop. In parallel CI, run A can consume the message for run B, or cleanup from a timed-out job can remove an inbox that is still active.…