Delivery delay · Decision tree

Verification email missing? Don’t keep hitting resend.

Break “not received” into four observable stages: did the request go through, did the sender deliver it, did the recipient filter it, and is the latest code still valid?

0–60 seconds

Refresh once and check the address; don’t resend immediately. Many systems are still queueing the message or establishing a delivery connection.

1–5 minutes

Search by sender name and subject, then check spam, promotions, and all mail—not just your main inbox.

5–10 minutes

Resend once and note the time. Use the newest email; an older code may have been invalidated by a later request.

Over 10 minutes

Switch delivery paths or contact the service provider with a redacted address, timestamp, and error status.

Five-step decision tree

Follow the steps in order and change only one variable at a time so you can identify the cause.

Step Check Next action
1. Request Does the page clearly show that it was sent? If not, fix the input or rate-limit error first
2. Address Are the domain, dots, and copied text correct? If incorrect, edit the address and request again
3. Filtering No results in spam or all mail? Search the sender domain and subject keywords
4. Resend Have you waited at least 5 minutes? Resend once and note the latest time
5. Escalate Still missing after the validity window? Switch paths and provide evidence to the sender

Step 1: Confirm the request went through

Clicking a button doesn’t mean the backend accepted the request. Check whether the page shows the target email address, a sent confirmation, or a cooldown timer—not just a button that briefly turns gray.

If you see an email-format, rate-limit, or network error, fix it first. Refreshing the inbox cannot make a missing message appear.

Step 2: Check the address character by character

After copying the address, check the beginning, domain, and end for stray spaces. When entering it manually, letters, numbers, dots, and underscores are especially easy to mix up.

If a disposable address has changed or expired, the address on the old page can no longer be used. Create a new one and take the new address back to the sender’s page.

Step 3: Expand your search

Check spam, promotions, updates, and all mail, then search by sender domain, product name, or “verification code.” Some clients use categories that make the unread count differ from the actual location.

Business email systems may quarantine incoming messages at the server level, where they won’t appear in the regular spam folder. Ask an administrator to check quarantine and message tracing.

Step 4: Limit resends

Repeated resends create multiple verification codes with different arrival times. Many systems accept only the latest code, so the first email to arrive may already be invalid.

Wait at least 5 minutes, resend only once, note when you clicked, and start with the newest email. Never combine codes from different messages.

Step 5: Switch delivery paths

If the sender blocks disposable domains, use a regular email address you control or a dedicated forwarding alias. If only one recipient provider is delayed, another provider can help distinguish a sending issue from recipient-side filtering.

Don’t repeatedly move important accounts to addresses that are about to expire. Choose a path you can control long term before continuing account creation.

What to provide support

Provide a redacted receiving address, request time and time zone, the error shown on the page, the expected sender, and whether you resent the message. Never send passwords, full verification codes, or login tokens.

For product teams, include a request ID or event ID if possible. “I didn’t receive it” alone is rarely enough to tell whether the issue is queuing, delivery, or filtering.

What users can do

  • Refresh once and check the address and expiration
  • Search every category and the spam folder
  • Wait 5 minutes, then resend only once
  • Use the most recently issued verification code
  • Switch to an address you can control long term if needed

Don’t do this

  • Click resend repeatedly within one second
  • Send a full verification code to support
  • Request codes in multiple tabs at once
  • Use an address that is about to expire for an important account
  • Assume a delay means the address was exposed

When troubleshooting a sending system, use a brand-new test inbox to create a clean sample; for ongoing monitoring, use a dedicated receiving alias.