accounts – Handling multiple email addresses from same user during registration

I have a system that offers content on a quarterly basis. Users can register once, then use the same credentials to log in for subsequent quarters. Our system currently uses email address to know whether they’ve previously registered.

The problem is that a handful of users change email accounts. When this happens, it creates a duplicate account for the same person. There isn’t a benefit (in our system) for someone to use a different email address, it just creates more work for us on the back end. We have users who, over time, have used 4-5 different email addresses resulting in many duplicate accounts.

What is the best way to curb or manage this?

I thought of having the user enter their first name, last name, and email address – then using this to check for an existing account. The problem is that I don’t want to show a list of possible matches (including name and email address) to random internet users/bots.

What’s the best and easiest/friendliest way to check for and manage a potential duplicate account when registering – checking both name and email address? Could I show a partial email address, like “…” or “acoder@………”? What about matching against common last names such as Smith or Jones, where there could be a dozen or more possible matches?