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
_a-z0-9- ↩︎