FILTER_VALIDATE_EMAIL probably is a smarter way to go, but I think context matters a lot. If this is for a consumer web service user@hostname isn't going to be 'valid' for the service.
Please see the link I posted.
1/ Using PHP PCRE for email validation is considered harmful
2/ Using filter_var for email validation for a web service is useless
3/ Sending a confirmation link by email is the way to go
To be clear, I agree with you 100% that there is no substitute for sending a confirmation email and requiring the user to click-through if you're looking for full confirmation of mailbox validity. My point is that there are simple steps to be taken along that path which complement the confirmation email.