piccola funzione per verificare un indirizzo email.
verifica che sia formalmente corretto e, in una certa misura, verifica che esista.
in una certa misura perchè, pur esistendo il dominio, non è detto che l'indirizzo esista, comunque un certo grado di sicurezza in più la da
come detto, provando il test, risulta:
verifica che sia formalmente corretto e, in una certa misura, verifica che esista.
in una certa misura perchè, pur esistendo il dominio, non è detto che l'indirizzo esista, comunque un certo grado di sicurezza in più la da
PHP:
<?php
function valida_email($email){
//per prima cosa valido formalmente l'indirizzo
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
return false;//non formalmente valido
}else{
//l'indirizzo è formalmente valido e quindi lo divido
$divisa=explode('@',$email);
//list($prefisso, $dominio) = split("@",$email);
//verifico che sia possibile utilizzare getmxrr e che il dominio esita
//ho letto che su piattaforma windows getmxrr ha dei problemi
if(function_exists("getmxrr") && getmxrr($divisa[1], $mxhosts)){
//un elenco dei record MX trovati è posto nell'array $mxhosts.
return true;//è stato possibile usare getmxrr e il dominio esiste
}elseif (@fsockopen($divisa[1], 25, $err_nu, $err_str, 5)){
return true;//non posso usare getmxrr ma il dominio esiste
}else{
return false;//il dominio non esiste
}
}
}
//TEST.......
//l'array: valida inesistente errata .. il dubbio
$em=array("[email protected]","[email protected]","info#borgo-italia.it","[email protected]", "[email protected]");
foreach($em as $e){
if(valida_email($e)){
echo "$e valida e esitente<br />";
}else{
echo "$e non è formalmente valida o non è esitente<br />";
}
}
?>
dove di sicuro [email protected] non esiste e [email protected] è probabile che non esista[email protected] valida e esitente
[email protected] non è formalmente valida o non è esitente
info#borgo-italia.it non è formalmente valida o non è esitente
[email protected] valida e esitente
[email protected] valida e esitente