When filtering an email address
filter_var() will return the filtered data, in this case the email address, or false if a valid email address cannot be found:
var_dump(filter_var('firstname.lastname@example.org', FILTER_VALIDATE_EMAIL)); var_dump(filter_var('notValidEmail', FILTER_VALIDATE_EMAIL));
string(16) "email@example.com" bool(false)
This function doesn't validate not-latin characters. Internationalized domain name can be validated in their
Note that you cannot know if the email address is correct before sending an email to it. You may want to do some extra checks such as checking for a MX record, but this is not necessary. If you send a confirmation email, don't forget to remove unused accounts after a short period.