I agree with the first suggestion, that a recipient name should be allowed along with their email address. 1 if the email address is valid, 0 if it is invalid or empty, and FALSE if there is an input error (such as passing in an array instead of a string).
HP 5.3.3 and 5.2.14 had a bug ( related to FILTER_VALIDATE_EMAIL, which resulted in segfault when validating large values.
This function returns TRUE, even for email addresses without the domain extension.
For example, [email protected] returns TRUE which is actually a invalid email address. [email protected] is a valid email address from a syntax perspective.
I'm honestly amazed at how many people have honestly forgotten to add that part to their email when registering on my Drupal sites and it's in turn caused a lot of headaches.
When an invalid email is allowed through during the registration process the password reset is effectively negated since they inevitably try to reset when they forget their login and then the mailserver can't get the reset email to them since their email is bad.