Email Testing

DontBreak gives every test access to real, disposable email inboxes on @dontbreakemail.com — no Mailtrap account, no IMAP setup, no code. Your test creates an address, signs up with it on your site, waits for the verification email, clicks the link or extracts the code, and asserts the email arrived. The entire signup-with-verification flow becomes testable end to end.

How it works

Email testing sequence between your test, DontBreak Mail, and your appEmail testing sequence between your test, DontBreak Mail, and your app
The disposable-inbox loop: your test creates an address, your app emails it, DontBreak receives the message, and the test extracts the code and asserts.

When a test runs a Create Temp Email step, DontBreak allocates a unique address like f3a9…@dontbreakemail.com for that run. Anything your application sends to it is received by DontBreak within seconds and becomes available to the email steps later in the test. By default, inboxes created by a run are cleaned up when the run finishes, so tests never leak addresses — but you can opt to keep one around for a few hours to inspect what your app sent (see Create Temp Email).

The Test Email page

The Test Email page is your manual inbox manager — useful for exploring what your app sends before you automate it, and for keeping pinned addresses around.

Test Email page showing temporary email addresses and a received emailTest Email page showing temporary email addresses and a received email
The Test Email page: addresses on the left, inbox and message content on the right.
  • Generate Temporary Email creates a new address instantly.
  • The address list is searchable and sortable (newest, oldest, A–Z); each row shows how many emails it has received, with one-click copy of the address.
  • Click an address to drill into its inbox and open any received email — rendered content, links, and codes included. The page refreshes itself while open, so new mail appears without reloading.
  • Delete a single received email, delete an address, or use the menu to Delete all emails.

Note

Addresses you create from this page are pinned — they stick around until you delete them, capped at 10 saved addresses per team. Addresses created inside test runs are ephemeral and don't count against the cap.

Email actions

The Email tab of the action picker (⌘K in the editor) contains:

Action picker showing the Email tab with email-related actionsAction picker showing the Email tab with email-related actions
The Add Test Action picker, Email tab.
ActionWhat it does
Create Temp EmailCreate a temporary email address for this run
Fill Temp EmailFill a field with the test's temp email address
Email ReceivedAssert that an email arrived (optionally containing specific text)
Click Email LinkWait for an email, then navigate to a link inside it
Fill Code from EmailWait for an email, extract a verification code, and type it into a field

Create Temp Email

Allocates a fresh @dontbreakemail.com address for the run. Later email steps reference this address. No target element needed.

By default the run's inbox is deleted the moment the run finishes. Toggle Keep inbox after run on the step to hold it for a few hours instead — useful when a run fails and you want to open the actual emails your app sent and see what really arrived. The inbox is still pruned automatically afterward, so nothing accumulates.

Fill Temp Email

Fills the selected input field with the test's temp email address — and if your test doesn't have a Create Temp Email step yet, adding this action inserts one automatically. This is usually the only email setup you need: point it at your signup form's email field.

Email Received

Asserts an email arrived at the temp address. Optionally provide content text that must appear in the email body — "Welcome to", an order number prefix, anything that identifies the right message. Also available on the Assert tab; see Actions: Assertions.

Waits for an email, finds a link inside it, and navigates the browser to it. Provide link text to pick the right link (e.g. "Verify email") when the message contains several. Perfect for verification links, magic-login links, and password reset URLs.

Fill Code from Email

Waits for an email, extracts a one-time code from it, and types it into the field you target. You tell it what the code looks like:

  • Format: numeric, letters, or alphanumeric, with an expected length (e.g. 6-digit).
  • Anchor (optional): text the code appears after, e.g. "Your code is".
  • Regex override (optional): a custom pattern for unusual code formats.

Worked example: signup with email verification

A complete test of a signup flow that emails a 6-digit confirmation code:

Fill the signup form

On your signup page, add Fill Temp Email targeting the email field (this auto-inserts the Create Temp Email step). Use Fill with Random password for the password field.

Submit

Add a Click on the "Sign up" button.

Assert the email arrived

Add Email Received with content "confirm" (or whatever your verification email reliably contains). The step waits for the message, so no manual Wait is needed.

Enter the verification code

Add Fill Code from Email targeting the code input: numeric, length 6, anchor "Your code is". The step pulls the code from the email and types it in.

Confirm and assert success

Click "Verify", then finish with a Page Contains assertion on your post-verification text — e.g. "Welcome aboard".

Run it with Quick Run and watch the whole loop — signup, real email delivery, code extraction — execute in the live preview. Because every run gets a fresh address, the test never collides with previous signups.