Anton-Killer
12.02.2002, 03:45
<?
define("EMAIL_EMPTY",1);
define("EMAIL_INVALID",2);
define("EMAIL_NO_MX_RECORD",3);
define("EMAIL_NO_SUCH_USER",4);
function valid_email($check_email)
{
if(trim($check_email)=="")
return EMAIL_EMPTY;
list($user,$domain)=explode("@",$check_email);
$match_user=eregi('^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$',$user);
$match_domain=eregi('^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$',$domain);
if(!$match_user || !$match_domain)
return EMAIL_INVALID;
if(!getmxrr($domain,$mx))
{
if(gethostbyname($domain)==$domain)
return EMAIL_NO_MX_RECORD;
$ms=$domain;
}
else
{
$ms=$mx[0];
}
if(!$sock=fsockopen($ms,25))
{
echo "Нифига, нет доступа к серваку<br>";
}
else
{
fgets($sock,255);
fputs($sock,"HELO www.lmz.dp.ua\n");
fgets($sock,255);
fputs($sock,"MAIL FROM:lamer@a-teleport.com\n");
fgets($sock,255);
fputs($sock,"RCPT TO:$check_email\n");
$ans=fgets($sock,255);
fputs($sock,"QUIT\n");
if(!ereg("^250",$ans))
return EMAIL_NO_SUCH_USER;
fclose($sock);
}
return 0;
}
?>
<BODY>
<FORM ACTION=<? echo $PHP_SELF; ?> METHOD="POST">
E-mail <INPUT TYPE="text" name="email" SIZE="15" MAX="100" VALUE="<?echo $email; ?>"><BR>
<?
if(isset($email))
{
if($error=valid_email($email))
{
echo("<b><font color=red>Что-нить:");
switch($error)
{
case EMAIL_EMPTY:
echo("Что-нить");
break;
case EMAIL_INVALID:
echo("Что-нить");
break;
case EMAIL_NO_MX_RECORD:
echo("Что-нить");
break;
case EMAIL_NO_SUCH_USER:
echo("Что-нить");
break;
}
echo("</font></b><br>");
}
else
echo("Что-нить<br>");
}
?>
<INPUT TYPE="submit" VALUE="Проверить">
</FORM>
</BODY>
define("EMAIL_EMPTY",1);
define("EMAIL_INVALID",2);
define("EMAIL_NO_MX_RECORD",3);
define("EMAIL_NO_SUCH_USER",4);
function valid_email($check_email)
{
if(trim($check_email)=="")
return EMAIL_EMPTY;
list($user,$domain)=explode("@",$check_email);
$match_user=eregi('^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$',$user);
$match_domain=eregi('^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$',$domain);
if(!$match_user || !$match_domain)
return EMAIL_INVALID;
if(!getmxrr($domain,$mx))
{
if(gethostbyname($domain)==$domain)
return EMAIL_NO_MX_RECORD;
$ms=$domain;
}
else
{
$ms=$mx[0];
}
if(!$sock=fsockopen($ms,25))
{
echo "Нифига, нет доступа к серваку<br>";
}
else
{
fgets($sock,255);
fputs($sock,"HELO www.lmz.dp.ua\n");
fgets($sock,255);
fputs($sock,"MAIL FROM:lamer@a-teleport.com\n");
fgets($sock,255);
fputs($sock,"RCPT TO:$check_email\n");
$ans=fgets($sock,255);
fputs($sock,"QUIT\n");
if(!ereg("^250",$ans))
return EMAIL_NO_SUCH_USER;
fclose($sock);
}
return 0;
}
?>
<BODY>
<FORM ACTION=<? echo $PHP_SELF; ?> METHOD="POST">
E-mail <INPUT TYPE="text" name="email" SIZE="15" MAX="100" VALUE="<?echo $email; ?>"><BR>
<?
if(isset($email))
{
if($error=valid_email($email))
{
echo("<b><font color=red>Что-нить:");
switch($error)
{
case EMAIL_EMPTY:
echo("Что-нить");
break;
case EMAIL_INVALID:
echo("Что-нить");
break;
case EMAIL_NO_MX_RECORD:
echo("Что-нить");
break;
case EMAIL_NO_SUCH_USER:
echo("Что-нить");
break;
}
echo("</font></b><br>");
}
else
echo("Что-нить<br>");
}
?>
<INPUT TYPE="submit" VALUE="Проверить">
</FORM>
</BODY>