If you've ever tried to write a Playwright test that covers a full sign-up → email verification → login flow, you've hit the same wall: how do you actually read the email your app sends during a test?

This guide covers three approaches — from the classic self-hosted SMTP trap to a zero-infrastructure option — with working Playwright code for each.

The problem

Your app sends a verification email. Your Playwright test needs to:

Intercept that email