1. 云栖社区>
  2. PHP教程>
  3. 正文

全面測試email的有效性

作者:用户 来源:互联网 时间:2017-12-01 18:16:51

email

全面測試email的有效性 - 摘要: 本文讲的是全面測試email的有效性,一般我們常希望拜訪你的網站的朋友能留下Email  但是很多人都會隨便打,造成管理員的困擾,  以下這個class可以線上檢查Email是否是有效的Email(存不存在)  <?  class CEmail {  var $email

一般我們常希望拜訪你的網站的朋友能留下Email  但是很多人都會隨便打,造成管理員的困擾,  以下這個class可以線上檢查Email是否是有效的Email(存不存在)  <?  class CEmail {  var $email_regular_expression="^([a-z0-9_]|-|.)[email protected](([a-z0-9_]|-)+.)+[a-z]{2,4}$";  var $timeout=0;  var $localhost="";  var $localuser="";  Function GetLine($connection)  {  for($line="";;)  {  if(feof($connection))  return(0);  $line.=fgets($connection,100);  $length=strlen($line);  if($length>=2  && substr($line,$length-2,2)=="rn")  return(substr($line,0,$length-2));  }  }  Function PutLine($connection,$line)  {  return(fputs($connection,"$linern"));  }  Function VerifyRule($email)  {  return(eregi($this->email_regular_expression,$email)!=0);  }  Function ValidateEmailHost($email,$hosts=0)  {  if(!$this->VerifyRule($email))  return(0);  $user=strtok($email,"@");  $domain=strtok("");  if(GetMXRR($domain,&$hosts,&$weights))  {  $mxhosts=array();  for($host=0;$hostGetLine($connection)))  {  if(!strcmp(strtok($line," "),$code))  return(1);  if(strcmp(strtok($line,"-"),$code))  return(0);  }  return(-1);  }  Function VerifyOnline($email)  {  if(!$this->ValidateEmailHost($email,&$hosts))  return(0);  if(!strcmp($localhost=$this->localhost,"")  && !strcmp($localhost=getenv("SERVER_NAME"),"")  && !strcmp($localhost=getenv("HOST"),""))  $localhost="localhost";  if(!strcmp($localuser=$this->localuser,"")  && !strcmp($localuser=getenv("USERNAME"),"")  && !strcmp($localuser=getenv("USER"),""))  $localuser="root";  for($host=0;$hosttimeout ? fsockopen($hosts[$host],25,&$errno,&$error,$this->timeout) : fsockopen($hosts[$host],25))))  {  if($this->VerifyResultLines($connection,"220")>0  && $this->PutLine($connection,"HELO $localhost")

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索email , ,以便于您获取更多的相关知识。