php 验证email地址的方法分享

发布时间:2020-05-28编辑:脚本学堂
本文分享一些用于验证email地址的php代码,有需要的朋友,参考学习下吧。

比如,在用户注册程序中,我们经常要检测下输入的邮箱地址是否正确,可以用如下的代码:

<?php
if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]", $email)) 
{
   return FALSE;
}
?>

或者这样:

<?php 
function checkmail($email){
    return eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email);
}
?>

以上的代码中,只是简单的检测了邮箱格式是否正确,并没有针对具体域名进行检查。
假如要检查类似mailname@domainname.xxx中,@后面的部分。

可以通过检测域名,来更确切地判断邮箱地址是否有效。
代码如下:

<?php
/**
* 通过域名检测邮箱地址的有效性
* edit by www.jb200.com
* 用到php函数getmxrr与fsockopen
*/
list($mailusername, $Domainname) = split("@",$myemail);
if(getmxrr($Domainname, $MXHost)) 
{
   return TRUE;
}
else 
{
   if(fsockopen($Domainname, 25, $errno, $errstr, 30)) 
   {
      return TRUE; 
   }
   else 
   {
      return FALSE; 
   }
}
?>