Newsgroup: it.comp.www.php
Titolo: Verificare l'esistenza di un indirizzo e-mail.

Ho recuperato dai vecchi messaggi del ng uno script postato da Setec per
verificare la validità di un indirizzo e-mail.
Il guaio è che messo lo script su Altervista, non funziona più, o meglio mi
riporta sempre esito negativo.
Dopo una giornata passata modificarlo per cercare di capire dove ho sbaglio,
noto che il controllo *if (function_exists ("fsockopen"))* ha esito
negativo. Bypasso tale controllo e provo richiedendo direttamente la
connessione, ma niente da fare.
Il dubbio che mi viene è che la configurazione di Altervista sia tale da non
permetterne il funzionamento.
Diversamente, può essere che interpreto male ciò chemi restituisce il
*getmxrr ($host, $mxhosts)*? Da prove fatte mi ha restituito degli array, ma
Setec nello script originale sembra trattarli come una matrice.
Qualche suggerimento per la risoluzione del problema?
Posto il codice che ho usato:
<HTML>
<HEAD>
<TITLE> Invia un Commento </TITLE>
</HEAD>
<BODY bgcolor="#000000">
<?PHP
$nome=$_POST["nome"];
$nominativo=$_POST["nominativo"];
$posta=$_POST["posta"];
$commento=$_POST["commento"];
$indirizzo = "mio indirizzo email @ mio provider";
$oggetto = "Posta da $posta ";
$testo = "nome: $nome , nominativo: $nominativo , E-mail: $posta , Commento:
$commento ";
////////////////////////////////////////////////////////////////////////////
//////////////
$host = substr (strstr ($posta, '@'), 1, 255) . ".";
if (getmxrr ($host, $mxhosts))
 {
 array_multisort ($mxhosts);
 }
else
 {
 $mxhosts[0] = $host;
 }
print "<center><font color=#ffffff size=+1<strong>Sto verificando
l'indirizzo e-mail indicato...</strong></center>";
$ip = gethostbynamel ($mxhosts[0]);
print "<center><font color=#ffffff size=+1<strong>";
$port = 25;
$error = '';
$localhost = '
altervista.org
';
$sender = 'info@' . $localhost;
$result = false;
$id = 0;
while (!$result && $id < count($ip))
 {
 if (function_exists ("fsockopen"))
  {
   if ($connection = fsockopen ($ip[$id], $port, $errno,$error,
$this->timeout))
    {
    print "<center><font color=#ffffff size=+1<strong>Sto verificando la
connessione al $ip[$id] ...</strong></center>";
    print "<center><font color=#ffffff size=+1<strong>Dominio verificato con
successo ( $ip[$id] ).<br>Sto verificando l'account...</strong></center>";
    fputs ($connection,"HELO $localhost\r\n"); // 250
    $data = fgets ($connection,1024);
    $response = substr ($data,0,1);
    if ($response == '2') // 200, 250 etc.
     {
     fputs ($connection,"MAIL FROM:<$sender>\r\n");
     $data = fgets($connection,1024);
     $response = substr ($data,0,1);
     if ($response == '2') // 200, 250 etc.
      {
      fputs ($connection,"RCPT TO:<$email>\r\n");
      $data = fgets($connection,1024);
      $response = substr ($data,0,1);
      if ($response == '2') // 200, 250 etc.
       {
       fputs ($connection,"data\r\n");
       $data = fgets($connection,1024);
       $response = substr ($data,0,1);
       if ($response == '2') // 200, 250 etc.
        {
        $result = true;
        print "<center><font color=#ffffff size=+1<strong>Account verificato
con successo.<br>Invio email in corso...</strong></center>";
        }
       }
      }
     }
    fclose ($connection);
    }
   }
  $id++;
 }
////////////////////////////////////////////////////////////////////////////
//////////////
if ($result)
 {
 if (true) //mail($indirizzo, $oggetto, $testo, "From: $nome\r\n" .
"Reply-To: $indirizzo\r\n" . "X-Mailer: PHP/" . phpversion()))
  {
  print "<center><font color=#ffff00 size=+2<strong><br>Grazie, il tuo
commento è stato inviato con successo.</strong></center>";
  }
 else
  {
  print "<center><font color=#ffff00 size=+2<strong><br>Si è verificato un
errore durante l'invio dei dati. <br>Ti preghiamo di riprovare più
tardi.</strong></center>";
  }
 }
else
 {
 print "<center><font color=#ff7f00 size=+2<strong><br>L'indirizzo di posta
elettronica indicato non è valido.<br>Ti preghiamo di controllare i dati
immessi e di riprovare.</strong></center>";
 }
?>
<center><font color="#00ff00" size="+2"<strong><br><br><a
onclick="self.history.back()"</a><U>Clicca qui per tornare alla pagina
precedente.</U></strong></center>
</BODY>
</HTML>

 ha esito negativo. 
Se fsockopen non esiste la classe non funzionera'.
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 Se fsockopen non esiste la classe non funzionera'.
da questo devo dedurre che l'ipotesi sulla configurazione di Altervista č
corretta.
Peccato, grazie comunque.