Scenario:
User A "Sheri" has email sherri@example.com, and signs up for a forum. She makes a typo and enters sheri@example.com during sign-up. She never gets the activation email, and realizes the error after clicking sign-up e.g. when the page says "Activation email has been sent to sheri@example.com"
She then signs up again entering her correct email address, and activates that user account.
This leaves an un-verified account still in the DB for email address sheri@example.com (we don't purge rows, they remain indefinitely, in an un-verified state).
Then, user B comes along sometime down the road, and her email is sheri@example.com. She tries to register, and when she types her email in the email field, she receives automatic feedback to the effect that a row exists with her email address, and a verification email is automatically dispatched.
My questions:
- What is the best way to message this scenario to user B when she types in the email during a new account sign-up?
- What is the best way to proceed (workflow for user B) to activate the account and set her own username (since the one that user A chose would be different from what user B wants)
Also note that this scenario must also "fit" for when it is just one user, e.g. a user creates an account and for whatever reason, doesn't activate it. some time later, comes back and tries to create an account with the same email address.