Email verification is easy to treat as a tiny detail in a Kubernetes pipeline. A test creates a user, waits for a message, clicks a link, and reports green. The trouble starts when the mailbox is shared, the old message is still there, or the pod that created the test disappears before anyone can explain the failure.
I use a mailbox contract for these tests. It is a small set of rules that says who owns an inbox, how long it lives, what evidence belongs to the run, and when a missing message should block the deployment. The contract makes a burner email address behave more like an ephemeral infrastructure resource.
Why a mailbox needs a contract
Kubernetes gives every workload useful identity primitives: namespaces, labels, service accounts, and pod UIDs. A test mailbox needs the same kind of ownership.…