What's stopping the spammers from entering "http:// suspicious .link" as username and someone's real email as email?
I think you can't restrict usernames enough to not allow any spam. The only right way is to really just have the email and nothing else in the first confirmation mail.
email: some@real.address
username: F*YOU
submit!
Now your sending "Hey F*YOU!" to real people.