This feels very not right… How can they refuse email change? Can only imagine how many people who eventually change their emails and want theirs changed too. What a shitty thing.
You’d be surprised by how many services use your email address as the key piece of information to identify your account with them. It is a horribly stupid practice.
What else is reasonable to use to uniquely identify users? A username they’ll forget? A phone number maybe? But who wants to give their phone number to some company? We could use SSN like Korea, but that’s way too far for a typical user.
You want to use a value which will never change, so you don’t use anything the user provides at all. When a user creates an account, that account is assigned a unique identifying value by the application. This is how objects are identified in Active Directory, for example: each user, computer, group, etc. gets a Security Identifier (SID). That SID never changes, and the value is never repeated for any other object ever, even if the original object is deleted. Every other property of the object can be changed.
Basically, the key value to say “this account is this account” should never ever have any other purpose.
I’m not an expert but in theory it doesn’t sound like a bad thing as long as you allow people to change it whenever possible. It feels like people change jobs, phone numbers, usernames, locations, genders, names and yet it’s extremely unlikely that they will out and out delete their old email address so it’s always something to personally identify someone by. And of course it’s always going to be unique unless you’re 0.0001% of the population who fuck around with self hosting email or something.
There’s plenty of reasons someone might want to discard an email address. You’d even be surprised by the number of people who use their current work email as their personal email.
One of the reasons we cannot reuse email addresses from terminated employees is because there are applications - legacy internal and external third party - which use email address as the identifier. This creates other problems with naming.
I went into some additional detail in another comment nearby.