php 源代码 检测邮件地址是否真实可用

<?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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值