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?