Scenario lab · Every sample links a trigger to evidence and a conclusion

Transactional message lab

Test transactional emails with scenario samples—not just template screenshots

Start with the trigger. Define variables, delivery evidence, and pass criteria for sign-up, reset, order, and security notifications so every change follows a repeatable acceptance path.

Scenario matrix

Choose the task first, then build the smallest verifiable sample

Each sample should validate one critical path. Don’t change the subject, variables, layout, and links in the same send.

Current sample

Sign-up verification sample

Trigger
Create a new, unverified account
Required variables
Name, six-digit code, expiry time, device details
Pass criteria
Email arrives; latest code works; previous code is invalid; readable on mobile
Run sample with a dedicated address

Run protocol

A complete run should leave five types of evidence

Evidence lets the team reproduce issues and determine whether failure occurred in the business trigger, email generation, delivery queue, or inbox rendering.

Trigger

Request and environment

Record the environment, account state, action time, and request result.

Generate

Template and variables

Save the template version and check empty values, time zones, and language branches.

Send

Message and queue

Record the message ID, acceptance time, retries, and rejection reason.

Receive

Headers and body

Check the subject, sender, and both HTML and plain-text parts.

Conclusion

Pass or block

Document the decision, screenshots, owner, and conditions for the next retest.

Failure library

Classify failures by layer instead of calling everything “not received”

Precise classification keeps template, backend, and delivery teams from guessing at one another.

Business trigger failure

The application did not create an email job. Check conditions, permissions, idempotency keys, and event logs instead of refreshing the inbox again.

Template generation failure

The job exists, but variables, language, or template compilation failed. Save the input data and make the failure replayable.

Delivery queue delay

The message was accepted by the service but remains queued or is being retried. Use the message ID and status timeline to determine what happened.

Inbox rendering failure

The email arrived, but the layout, images, links, or plain-text fallback is unacceptable. Review the same message on desktop and mobile.

Start a run

Give the next transactional email path its own inbox address

Choose a scenario, copy the address, trigger the send from your real system, then record the result across all five evidence types.

Start a sample run