Come faccio a controllare preventivamente se una mail esiste?

Ho dato una occhiata a qualche script utilizzando questo:

<?php
class verificatore{
function verifica($host,$user){

$fp = fsockopen ($host, 25);
set_socket_blocking ($fp, true);
fputs ($fp, "Helo\n");
fgets ($fp, 2000);
fgets ($fp, 2000);
fputs ($fp, "Mail From:<$user@$host> \n");
fgets ($fp, 2000);
fputs ($fp, "RCPT to:<$user@$host> \n");
$result= fgets ($fp, 2000);
$st= substr($result,0,3);
if ($st==250){
return "exist";
}
else
return "not_exist";
}
}

$email = $_POST['email'];
list($host, $user) = split('[@]', $email);
print($host."@".$user);

$m=new verificatore;
$response = $m->verifica($host,$user);
print($response);

?>

ma non funziona, mi da errore sulla fsockopen :

paolo.gasparroni@hotmail.it

Warning: fsockopen() [function.fsockopen]: unable to connect to paolo.gasparroni:25 (Impossibile stabilire la connessione. Risposta non corretta della parte connessa dopo l'intervallo di tempo oppure mancata risposta dall'host collegato.

) in C:\www\esistenza_email.php on line 5



Fatal error: Maximum execution time of 30 seconds exceeded in C:\www\esistenza_email.php on line 5


se imposto come $host il mio servizio smtp allora questa volta risponde ma con indirizzi validi ho la risposta not exist ...

Qualcuno può darmi dei suggerimenti?