The code never arrived

OTP Email Not Arriving? A Checklist Before You Resend

What to do, in order, when a verification-code email does not arrive: check the address, wait without restarting, search Spam and the category tabs, resend once, then switch to another sign-in method.

9 min readReviewed 2026-09-26

If a verification-code email has not arrived, do four things in order: check that the code went to the address you are watching, wait a couple of minutes with the login page left open, search the places Gmail files mail outside the inbox, and only then resend once. If a second round finds nothing, stop resending and use another sign-in method or the provider's recovery page.

Doing these out of order causes much of the trouble. A quick resend adds a second code, the first one then arrives late, and you have two emails and no way to tell which one the page wants.

The triage in four stages

StageDoMove on when
1. AddressCheck which address the login page sent the code to.You know which inbox to watch.
2. WaitLeave the login page open and wait about two minutes. Do not restart the sign-in.Nothing has arrived.
3. SearchSearch Spam, the category tabs, labels and All Mail in that inbox.Nothing turns up anywhere.
4. Resend oncePress resend one time, note the time, then repeat stages 2 and 3.The second round is also empty: switch to another sign-in method.

The two-minute wait is our rule of thumb, not a provider rule. If the page shows a countdown or says how long to wait, use that instead.

1. Which address did the code go to?

A code can be "missing" because it went to an inbox you are not looking at. Many login pages show the address in a masked form, such as j•••@g•••.com. Compare it with the account you think you are using.

Common mismatches:

  • A work address and a personal address at the same service.
  • An alias or plus-address (you+shop@gmail.com) that you typed when you signed up.
  • An old address still on the account. If codes for one service never arrive while other mail flows normally, see a code sent to an old email address.
  • A relay address from Hide My Email or a similar service, which forwards mail and can fail on its own; see what relay addresses change.
  • A group or distribution list at work. Mail to a list goes only to its members, and an owner of the list is not always a member; see a code sent to a distribution list.
  • A temporary or disposable address you used at signup. If that inbox no longer opens, a resend cannot reach you; see when temporary email backfires.

If you watch several inboxes, search them one at a time. Mixing results from different inboxes is how the wrong code gets used.

2. Wait without starting a new attempt

Email delivery is not instant, and a code that takes a minute or two is not a broken code. What matters during the wait is the login page: leave it open and do not refresh it. On some sites, going back or restarting the sign-in starts a new attempt, and the code that is about to arrive then belongs to an attempt that no longer exists. If you already closed that page, see the closed-tab guide.

If a code arrives after you already requested a newer one, do not try the older email first. Use the newest message that arrived after your last request. The stale-code check explains how to tell which one is live.

Delays are longer on some networks and when you are travelling; see getting codes while travelling.

3. Search the places Gmail files mail

A code that is not in your inbox may still have been delivered. In Gmail, run these searches in the account the login page named:

SearchWhat it finds
in:anywhere newer_than:1d (code OR verification)Recent code emails anywhere, including Spam and Trash.
from:service.example newer_than:1dEverything recent from that sender, if you know its domain.
category:promotions verification or category:updates verificationCode emails filed under a tab.
deliveredto:you@work.example codeMail delivered to one of several addresses in the mailbox.

If nothing turns up, check the causes that move mail without telling you:

  • Filters. A Gmail filter can label, archive, forward, or delete matching mail. A rule made for receipts or alerts can catch a code email. See how to find the filter.
  • Forwarding. If the address forwards to another inbox, check both, and see why forwarding breaks codes.
  • Work email. A company mail gateway can hold or reject a message before it reaches you. See work email codes.
  • Other mail apps. In Outlook, open Junk Email and check your Blocked senders list; adding the sender to Safe senders keeps its next code in the inbox. Outlook, Yahoo and Apple Mail each have their own junk handling: see the guides for Outlook, Yahoo and Apple Mail.

The Gmail search guide has more queries and explains why an empty result can be a query problem.

Found it in Promotions or Spam?

In a tab (Promotions, Updates): delivery worked; only the filing is wrong. Use the code now, and fix the filing after you are signed in. To keep future codes from that sender in Primary, create a filter for the sender that sends its mail to the Primary category. Dragging the email to the Primary tab moves that message.

In Spam: check the sender and that the email answers a request you made in the last few minutes, type the code into the login page you already have open, and do not click anything in the message. Then mark it "Not spam" so the next code lands normally. The Spam-folder guide covers the checks in detail, and how to spot a fake verification email covers a code you did not request.

4. Resend once, and note the time

Only when stages 1 to 3 find nothing does resending make sense. Press resend once and note the time. Two reasons:

  • Services limit how often you can request codes. OWASP recommends per-account rate limits on password-reset requests, and services commonly limit code requests the same way, so repeated resends can slow you down or lock the account.
  • You need the time to pick the right email. Some services cancel the previous code when they send a new one and some do not. Either way, only a message that arrived after your last request is safe to use.

Then repeat stages 2 and 3 once. What you want to avoid is five resends in a minute, which turns "no code" into five codes, four of them dead.

5. Switch to another sign-in method

Two empty rounds mean the email is not reaching you, and more requests will not change that. The address on file may be wrong, a gateway may be holding the message, or the sender may be rejected upstream. Switch channel:

  • Another sign-in method you set up earlier: a passkey, an authenticator app, SMS, or backup codes. A working text-message channel gets you in today; fix the email delivery afterwards. Google, for example, supports several second steps and backup codes so that one failed channel does not lock you out. If the texted code is the one that does not arrive, use the text-message code check.
  • The provider's account-recovery page. It is built to verify you without the email that is failing.
  • Your administrator, for a work account. Give them the address, the times of both requests and what your searches found. They can check delivery logs you cannot see.

Once you are signed in, fix the cause (the filter, the address on file, the category) so the next code arrives normally.

FAQ

How long should I wait for a verification code email?

Follow the page's countdown if it shows one. If not, about two minutes is a reasonable first wait. Search before you resend, and decide the email is not coming only after a second round is also empty.

Why did my verification code go to Promotions?

Gmail sorts incoming mail into tabs automatically, and some code emails are designed like marketing mail. A filter that sends the sender's mail to the Primary category keeps future codes out of the tab.

Codes from other services arrive, but never from this one. Why?

That points at this one sender: it may be filtered, blocked, or sending to a different address than you expect. Search Spam and your filters for that sender, then check the email address on your profile with the service.

Should I keep requesting new codes until one arrives?

No. Each request adds another email to choose from and counts toward the service's limit. Resend once, then switch to another sign-in method if nothing comes.

Where MagicLess fits

The tiring part of a late code is watching the inbox. For connected Gmail inboxes, MagicLess shows an arriving code on the login page, so if nothing shows, no matching code has reached your connected inboxes yet. It cannot make a missing email arrive, cannot see inboxes you have not connected, and does not press resend or change sign-in method for you.

Claim ledger

ClaimSourceLast checked
Gmail documents in:anywhere (includes Spam and Trash), category:, from:, deliveredto: and newer_than: (units d, m, y).Gmail Help: Search operators2026-09-26
Gmail filters can label, archive, delete, star or forward incoming mail.Gmail Help: Create rules to filter your emails2026-09-26
Dragging an email to a tab moves it; a filter can send a sender's future mail to a category.Gmail Help: Organize your emails into categories2026-09-26
Google advises checking Spam for missing mail and marking it "not spam".Gmail Help: Report spam2026-09-13
Google 2-Step Verification supports several second steps, including backup codes.Google Account Help: 2-Step Verification2026-09-13
Outlook's blocked-senders and safe-senders lists change whether a sender's mail reaches the inbox.Microsoft Support: Block or allow junk email settings2026-09-13
OWASP recommends per-account rate limiting of password-reset requests.OWASP Forgot Password Cheat Sheet2026-09-13
Gmail can send from and receive at addresses that are aliases of one account.Gmail Help: Send emails from a different address or alias2026-09-05