<?php
function check_mail($useremail,$mod){
$smtp = explode("@",$useremail);
$username = $smtp[0];
$smtp = 'smtp.'.$smtp[1];
$flag = "";
$message="";
$message .= "开始连接服务器<br>";
$link = @fsockopen($smtp,25);
if ($link){
set_socket_blocking($link,true);
$lastmessage=fgets($link,512);
if (!ereg("^220",$lastmessage)){
$message .= "与服务器连接失败" . $lastmessage . "<br>";
}else{
$message .= "与服务器连接成功,服务器就绪:" . $lastmessage . "<br>";
fputs($link,"HELO phpsetmail"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "与服务器HELO成功:" .$lastmessage. "<br>";
}
else{
$message .= "与服务器HELO失败:" .$lastmessage. "<br>";
}
fputs($link,"AUTH LOGIN"."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "请求与服务器进行用户验证成功:" .$lastmessage. "<br>";
}
else{
$message .= "请求与服务器进行用户验证失败:" .$lastmessage. "<br>";
}
fputs($link,base64_encode($username)."\r\n");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "与服务器用户验证成功:" .$lastmessage. "<br>";
$flag = 1;
}else{
$message .= "与服务器用户验证失败:" .$lastmessage. "<br>";
$flag = -2;
}
fputs($link,"HELP\r\n");
$lastmessage=fgets($link,2000);
$message .= "HELP命令执行情况:".$lastmessage. "<br>";
}
fclose($link);
$message .= "关闭服务器连接";
}
else{
$message = $useremail.$smtp."服务器连接失败";
$flag = -1;
}
$return = array("msg"=>$message,"flag"=>$flag);
if($mod==1){
if($flag == 1){
return true;
}else{
return false;
}
}else{
return $return;
}
}
//调用示例 $re = check_mail("dfgsdfgsdfg@sdfsdfsfd.com");
?>
转载于:https://my.oschina.net/wangwang110/blog/10252