Para validar um endereço de e-mail devemos verificar o domínio indicado após o @ é um domínio válido com registro MX no DNS. É muito comum o desenvolvedor utilizar um javascript que apenas verifica como está a sintaxe do e-mail. Mas se a pessoa escrever joao@dominio-que-nao-existe.com o endereço é validado.
Para verificar o domínio temos a seguinte função
function VerifyEmailAddress($EMail){
list($User, $Domain) = explode(“@”, $EMail);
$Result = checkdnsrr($Domain, ‘MX’);
return($Result);
}
Fonte: bytemycode
-------------------------------------------------------------------------------------