Testing sign-up and password-reset emails

Every application that sends email needs those emails tested: the welcome mail, the confirmation link, the password reset, the receipt. Using your own inbox for that quickly turns into a mess of you+test17 addresses. A temporary inbox gives you an unlimited supply of real, working addresses with nothing to set up.

Why a real inbox beats a mocked mailer

Local mail catchers and mocked mail services are great for unit tests, but they never leave your machine. Sending to a real address on the internet also tests the parts that break in production: your mail provider credentials, DNS, sender reputation, the final rendered HTML, and whether the link in the mail actually points to the right environment.

A simple manual workflow

  1. Pick a fresh name for each test run, such as myapp-signup-0612@zapmail.xyz for a sign-up test. Every name works immediately, so there is no limit on how many you use.
  2. Open zapmail.xyz/inbox/myapp-signup-0612 in a browser tab.
  3. Register in your app with that address. The mail appears in the open tab within seconds, without reloading.
  4. Check the rendering, switch between the HTML and plain-text versions, and follow the links.

Inbox names may use lowercase letters, digits, dots, hyphens, underscores and plus signs, between 4 and 64 characters. That leaves room to encode the scenario in the name, such as shop.reset-de.2@zapmail.xyz for the second German password-reset test.

Things to keep in mind

  • Inboxes are public. Never send production customer data, real credentials or secrets to a test inbox. Use generated test accounts.
  • Messages expire. Mail is deleted 24 hours after it arrives, so a test inbox needs no cleanup.
  • Size limit. Messages over 256 KB are refused, and attachments are not shown. Keep test mail lean.
  • One recipient per message. Send each test mail to a single ZapMail address. Messages addressed to several recipients at once are refused.
  • Reserved names. A few names such as admin, postmaster or noreply are reserved for the service and cannot be used as test inboxes.

Automated tests and API access

Want your end-to-end tests to fetch verification codes and links from a private inbox programmatically? We are considering an API for exactly that. If it would help your team, write to contact@zapmail.xyz and tell us what you need.