App emails not arriving? The 4 places they get lost

Ship ItChecked against the official source

The short answer

An app's email gets lost in one of four places: never sent, blocked, spam, or a broken link. Supabase's built-in email only delivers to addresses in your project's team, 2 messages per hour, and Resend's testing setup only sends to your own email address until you verify a domain. Google asks all senders to set up SPF or DKIM email authentication for their sending domains, and a Supabase Site URL that still says http://localhost:3000 sends reset links to localhost. Our full guide finds yours on the real Supabase and Resend dashboards, step by step.

What to do

  1. Never sent: check your logs, and set up custom SMTP in Supabase instead of the built-in email.
  2. Blocked: on Resend, verify a domain so you can send to addresses other than your own.
  3. Spam: set up SPF, DKIM and DMARC for your sending domain.
  4. Broken link: in Supabase, change the Site URL from http://localhost:3000 to your production URL.

Source

Checked on 19 Oct 2026. Prices, limits and settings change, so check the source before you rely on them.

Related