validar la dirección es complicado, deberías enviar el correo y verificar la respuesta del servidor... no creo que sea necesario.
Lo que sí podés hacer, es validar la forma de la dirección. Que el dominio exista y que no haya caracteres raros.
Yo personalmente uso esta función, espero que te sirva:
Código PHP:
<?php
function comprueba_correo($email) {
$retorno = true;
$partes_email = explode("@", $email);
# quiero que haya 1 arroba y sólo 1
if ( sizeof($partes_email) != 2 ) {
$retorno = false;
}
# quiero que el dominio exista
elseif ( checkdnsrr($partes_email[1], "ANY") === false) {
$retorno = false;
}
# y quiero que solamente haya letras, números, '_' o '.'
# en el nombre de usuario
elseif ( ereg("[^a-zA-Z0-9\._-]", $partes_email[0]) ) {
$retorno = false;
}
return $retorno;
}
?>
Saludos.