Praticamente stavo utilizzando questa funzione trovato in un altro forum:
verificare l'esistenza del record MX del DNS della email;
verificare la validità sintattica della email;
sanitizzare la stringa dell'email.
Codice PHP:
function is_email($email) {
$mailSplit = explode('@', $email);
$sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL);
return checkdnsrr(array_pop($mailSplit), 'MX') && filter_var($email, FILTER_VALIDATE_EMAIL) == $sanitizedEmail? $sanitizedEmail : false;
}
var_dump(is_email('something@gmail.it')); // string(18) "something@gmail.it"