alf013: Problem mit fgets

Beitrag lesen

Hallo Leute :-)

ich habe folgenden Code für eMail-Verifizierung geschrieben

function CheckEmail( $eMail )
{
  global $HTTP_HOST;
  if (!eregi ("[1]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,})$", $eMail))
  {
    return array(false, "eMail-Format ist falsch");
  }

list ($user,$domain) = split("@", $eMail, 2);
  if ( ! getmxrr($domain, $mxlist) )
  {
    return array(false, "Keine gültige Mailadresse");
  }

foreach ($mxlist as $mx)
  {
   echo $mx . '<br>';
    $fp = fsockopen($mx, 25, $errno, $errstr, 20);
    if (!$fp) continue; //nächster MX_Eintrag
    socket_set_blocking($fp, false);
    $s = 0;  $c = 0;
    $out = "";
    do    {  // Auf Antwort warten
      $out = fgets ( $fp, 2500 );
      if (ereg("^220", $out)) {
        $s = 0;
        $out = "";
        $c++;
      }else
      if (($c>0) && ($out=="")) break;
      else $s++;
      if ($s==9999) break;
    } while ($out=="");
    echo 'fp erreicht<br>';

if ( ($fp) && socket_set_blocking ($fp, true) )
    {
     echo 'HELO <br>';
     fputs ($fp, 'HELO EBS\r\n' );
     echo 'FGETS -->  <br>';
     $out = @fgets($fp, 1024 );   <<<<----------- hier
     echo 'FGETS <-- ' . $out . ' <br>';
     fputs ($fp, 'MAIL FROM: info@web.de' . '\r\n' );
     $out = fgets($fp, 1024 );
     fputs($fp, 'RCPT TO: ' . $eMail . '\r\n');
     echo 'FGETS -->  <br>';
     $out = fgets($fp, 3000);
     echo 'FGETS <-- ' . $out . ' <br>';
     if (ereg("^250", $out)) $return = array(true,$out);
     else $return = array(false,$out);
     fputs ($fp, "quit\r\n");
     fclose($fp);
 }
 else
   return array(false, "Keine Verbindung zum Server");

if ($return[0]) break;
   }
   return $return;

}

Mein Problem ist, dass nach dem 1. fgets nichts mehr passiert!!!!
Was ist der Fehler?????

Danke vorab und Grüsse
Andreas


  1. _a-z0-9- ↩︎