Proxy Mail QA

Test email not arriving?

Usually the email never left the app. Here’s how to tell, and how to fix the usual causes.

Updated

The one requirement

Your app needs to be able to email any address. Email providers in sandbox or test mode only send to addresses you've verified, so their mail can't reach any test inbox, ours included.

Check the address in the app

In the app, open Troubleshoot from the account menu and paste the address. It shows whether anything has reached us for it and anything we refused, with the reason.

When we turn mail away, the address’s row on Accounts says so too. An address that has waited a couple of minutes with no mail gets a Not arriving? link.

Nothing reached us at all? Then the email stopped before it got to us. Work through the causes below.

Usual causes

  1. The app's email provider only sends to verified addresses. Sandbox and test modes, such as Amazon SES before production access or Resend without a domain, quietly skip every other address. See the list of providers below.
  2. The app didn't send it. Check the app's logs or its email provider's dashboard for the message. A sign-up that failed, an email turned off in settings, or an error in a background job all look the same from here.
  3. The provider skipped the address. If an earlier email to the address bounced (for example after it expired), the provider may have added it to its suppression list and won't send to it again. Remove it from the list, or use a new address.
  4. The address is mistyped. Copy it from its row rather than retyping it. A +tag after the name is fine: name+run2@ still arrives at name@.
  5. The app is rate limited. Auth services cap their emails, for example 2 an hour with Supabase's built-in email and 30 an hour by default with your own SMTP. A test suite that signs up often hits the cap first.
  6. The address has expired or its project is archived. Mail to it is refused. Extend an address before it expires, or create a new one.
  7. We refused it. Messages over 5 MB are refused, and an address takes at most 60 emails an hour. The address shows when we refuse something, and why.

Email providers that only send to some addresses

Common while an app is new. Each one is a setting in the app’s email provider; no test inbox can receive mail it doesn’t send.

Amazon SES

New accounts start in the sandbox, which only sends to verified addresses and domains. Each AWS Region has its own sandbox. Fix: Request production access for the Region your app sends from. Docs

Supabase Auth's built-in email

Only sends to members of your Supabase project's team, and only 2 emails an hour. Fix: Set up custom SMTP under Authentication. Then raise the hourly email limit under Rate Limits if your tests sign up often. Docs

Resend

Until you verify a domain (while sending from onboarding@resend.dev), it only sends to your own Resend account email. Fix: Verify a domain and send from an address on it. Docs

Mailgun

A sandbox domain only sends to up to 5 authorised recipients, who each have to confirm. Fix: Send from your own domain. Mailgun needs a paid plan or a card on file for that. Docs

Postmark

Until Postmark approves the account, it only sends to addresses on domains you have verified. Fix: Request approval in your Postmark account. Docs

Firebase Authentication, Clerk and SendGrid send to any address. So does Auth0's built-in email, but only 10 emails a minute, so set up your own provider in Auth0 for test runs.

What Proxy Mail QA refuses

Mail to an address that doesn’t exist, was deleted or has expired is refused. For live addresses, we refuse mail when:

Each of these shows on the address with its time. We keep only the reason, the time and the size, never the sender or the message, and they’re deleted with the address.

Still stuck?

Email hello@proxymail.qa with the test address, when the app sent to it (with your time zone) and which email provider the app uses. Please don’t send passwords or API keys.

Try it on your next sign-up test

Free plan, no credit card. Create an address and watch the code or link arrive.

Create a free accountOpen the app

Questions

Can any test inbox receive mail from an email provider in sandbox mode?

No. A provider in sandbox or test mode doesn't send to unverified addresses at all, so there is nothing for Proxy Mail QA, or any other inbox service, to receive. Turn on sending to any address in the provider, as in the list above.

Does Proxy Mail QA see mail that was never delivered?

No. We only know about mail that reached us. That is why the app can say “nothing has reached us”: in that case the email stopped before it got to us, usually at the app or its email provider.

What does an agent or test script see when nothing arrives?

When a wait for a code or link comes back empty, the API and MCP server add a hint: what we refused for the address, or, when nothing has ever reached it, the likeliest cause, with a link to this page. They also list any refusals with their reason and time.

See every email testing problem we solve →