Código PHP:
#determino el formato
$val_email="/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/";
#elimino espacios en blanco si los hay al principio o al final (pasa de copiar y pegar...)
$v_email = trim($_POST[email]);
switch(true) {
#verifico que el campo no este vacio, si está vacio emito un mensaje
case ($v_email==""): $m_email="Su e-mail es necesario"; break;
#si no está vacio continuo
case ($v_email!=""):
#verifico que la estructura sea correcta
switch(true) {
case(preg_match ( $val_email, $v_email)):
#si está correcto verifico si el dominio existe
switch(true) {
case(checkdnsrr(array_pop(explode("@",$v_email)),"MX")): $confirmo_email="ok"; break;
# si el dominio no existe aviso en un mensaje
default: $m_email="Su correo no contiene DNS existente"; break;}
break;
# si está mal la estructura doy el mensaje
default: $m_email="Su correo contiene caracteres inapropiados"; break;}
break; }
<input type=\"text\" name=\"email_01\" size=\"25\" value=\"$v_email\">
$m_email
Espero que le sea util a alguien y si alguien lo puede mejorar o tiene algo para acotar en más que bienvenido, saludos.