In our system, users must confirm their emails on new registration and we send confirmation emails. We also don't show explicitly whether an email is banned, taken, or wrongly submitted on the registration form. And don't show whether an account already exists on the password reset form or not (we say "if the email is registered, it will get an email"). The issue comes up in case when a user has registered, didn't get the verification email, has left the verification page (thus unable to click on the "Resent verification" link). In this case, the user:

  • Can not register again, because the email is already busy and awaiting confirmation.
  • Can not reset the password because password reset links are not sent to unverified accounts.
  • Can not resend the verification link after fixing possible email receiving issues.

So the email can be "blocked" from usage or "stuck" for a day until unverified accounts are cleaned.

The question is: what's the best way to solve the issue with the email being "stuck" if the user misses the verification link and closes the verification page?

  • Why is "a day" the right delay before a user can re-navigate to the verification page? Would 5-120 minutes work just as well? If you are worried about someone using your site to spam someone with unwanted email, add an abuse/block/stop further emails link to the email.
    – Dave X
    Jan 12 at 21:21
  • "A day" is a requirement from the underlying infrastructure that we can't change. Jan 14 at 8:10

2 Answers 2


I believe that most of the web applications allows users to access the content before verifying the email and there's a visually noticeable message that indicates and reminds user to verify their email. That's what I would recommend to you.

enter image description here

Image source

  • Our website is an ecommerce one, guests have the same access to the content as logged-in users. They log-in only for making orders. Our policy is to just prohibit accessing the "My account" section for non-verified users instead of managing access rights in it for verified and non-verified users. We will add a message to the registration form that the user is already registered and the account is awaiting verification with a link to resend the code. Thank you for making a good proposal! Jan 14 at 8:06

In addition to fakermaker's answer, there's some more points:

  • You should allow the user to verify their account from a different place than the onboarding flow. If you don't want to use a global banner, this typically would be the accounts setting page. If you are blocking them from accessing your site until they verify, you should at least allow them to navigate to that particular page.
  • If the user attempts to register the same email for a second time, you could not create a second registration but instead put them into the "waiting for email verification" screen. To facilitate this, you may want to design your registration form such that the first step only asks what's immediately necessary for the verification, without letting the user complete their profile just yet.
  • You should allow the user to go back and edit their email address in case on the second go they realize that they typed in the wrong email address.
  • I wonder is editing the email feature really needed? It probably depends on the research data on how often do people change their email accounts, but to be honest I'd rather go for an input field to confirm the email address, if they do not match - show an error.
    – fakermaker
    Jan 13 at 9:59
  • that also would work @fakermaker. The difference is that a correction step after the fact would only be seen and used by a minority after the fact, while a double entry would be seen and get in the way of everyone registering. Jan 13 at 11:50
  • We will add a message noticing if the user is already registered and awaiting confirmation and react on re-registration with the same email redirecting to the verification page. Thank you for your answer! Jan 14 at 8:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.