A solution that does not check the existence of the TLD is incomplete.
Almost all answers to this questions suggest using Regex to validate emails addresses. I think Regex is only good for a rudimentary validation. It seems that the checking validation of email addresses is actually two separate problems:
1- Validation of email format: Making sure if the email complies with the format and pattern of emails in RFC 5322 and if the TLD actually exists. A list of all valid TLDs can be found here.
For example, although the address [email protected]
will pass the regex, it is not a valid email, because ccc
is not a top-level domain by IANA.
2- Making sure the email actually exists: For doing this, you just needthe only option is to send the users an email.