Skip to content

Firebase Authentication problemWhy don’t users get the Firebase password reset email?

A user taps Forgot password, your app says the email is on its way, and nothing arrives. Then the support emails start. Firebase sends these emails for you, and its docs name a few reasons one never shows up. Here they are in Firebase’s words, in the order to check them, or hand it over at a fixed price.

Rather hand it over? App Fix Ticket: One reproducible bug in an existing mobile or web app, diagnosed and fixed.

Full refund if Simon can’t take it on once he sees your project, or if you cancel before work starts. Refund terms.

Short answer

Check four things: that the address has an account in Firebase Authentication (with email enumeration protection on, Firebase sends nothing for an unknown address and shows no error), the spam folder, your project’s daily limit for password reset emails, and the sender domain. Sending from your own verified domain, set in the Authentication Templates tab, puts your brand in the From field and lets you add the DNS records that show the email is yours.

Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.

Why the email doesn’t arrive, and the fix

  1. 01

    There is no account for that address

    “When you make a password reset request, a verification email is sent only if the email address exists” Google Cloud, Enable or disable email enumeration protection

    Projects created on or after September 15, 2023 have email enumeration protection on by default. With it on, Firebase sends nothing for an address that has no account and returns no error, so your app shows success either way. Look the address up in the Users tab of Firebase Authentication; the user may have signed up with another email.

  2. 02

    It landed in spam

    “Set up SPF or DKIM email authentication for your sending domains.” Google, Email sender guidelines

    Ask the user to check spam and promotions. Until you apply a custom domain, the email comes from Firebase’s default domain rather than your own, and inboxes trust mail more when the sending domain is authenticated.

  3. 03

    Your project hit the daily limit

    Firebase lists a daily limit for password reset emails: 150 a day on the no-cost Spark plan and 10,000 a day on the Blaze plan, and says these quotas scale with the number of users. A launch day or a bulk reset can use up the Spark limit for the day.

  4. 04

    The custom sender domain was never verified or applied

    “It can take up to 24 hours for the domain to be verified.” Firebase, Use a custom domain for Authentication emails

    In the Firebase console, open Authentication, then Templates, edit each template and choose customize domain. Add the TXT and CNAME records Firebase shows at your domain registrar. A domain can have only one v=spf1 TXT record, so merge it with any you already have. When the green Verification complete message appears, click Apply Custom Domain.

Checked against the vendor’s docs on : Google Cloud docs: Email enumeration protection; Firebase docs: Use a custom domain for Authentication emails; Firebase Help: Customize account management emails; Firebase docs: Authentication limits; Google: Email sender guidelines.

Rather hand it over?

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
A buyer in the United States, July 2022. Shopify on Fiverr
All 127 Fiverr reviews

Related: Supabase emails going to spam · Firebase auth/invalid-action-code · Firebase auth/too-many-requests · Firebase auth/unauthorized-continue-uri

Questions

More on this error

Can I change what the reset email says?

Yes. In the Templates tab you can change the sender name, sender address, reply-to address and subject line, and for password reset emails the message itself.

Can the reset link open my own page?

Yes. Edit the template and choose customize action URL to send users to your own page, which receives the mode and oobCode values it needs to finish the reset.

Should I turn off email enumeration protection so users see an error?

Google recommends leaving it on, because the error messages it hides help attackers check which emails have accounts. Show a neutral message instead, such as: if an account exists for this email, a reset link is on its way.

Can you fix it for me?

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

A different error?

Describe it and get a written quote

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.