登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 | 信息 | 空间 | VB | VC | Delphi | Java | Flash | 补丁 | 控件 | 安全 | 黑客 | 电子书 | 笔记本 | 手机 | MP3 | 杀毒 | QQ群 | 产品库 | 分类信息 | 编程网站
  立华软件园 - Visual Basic 专区 - 技术文档 - PHP 技术文章 | VB源代码 | 电子图书 | VB网站 | 相关下载 | 在线论坛 | QQ群组 | 搜索   
 VB技术文档
  · 窗体界面
  · 系统控制
  · VB.Net
  · 多媒体
  · 网络编程
  · API函数
  · 游戏编程
  · 数据报表
  · 其他文档
 VB源代码
  · 窗体界面
  · 文件目录
  · 多媒体
  · 网络编程
  · 系统API
  · 数据报表
  · 游戏编程
  · VBA办公
  · 其他代码
 VB论坛
  · Visual Basic 讨论区
  · VB.Net 讨论区
  · VB数据库开发讨论区
  · VB系统API讨论区
 其他VB资源
  · VB下载资源
  · VB电子图书
  · VB QQ群组讨论区
  · VB 其他网站资源




用PHP验证邮箱是否真实有效
发表日期:2006-02-16作者:李立华[原创] 出处:立华软件园  

这个程序是直接验证邮箱是否真实有效的函数,checkmail是主函数,使用时请直接使用即可,注意:因使用了DNS函数,该程序不能运行在Windows系统之下,使用Linux和FreeBSD都测试通过。

<?
set_time_limit(0);
if($_POST["mail"]!=""){
    echo "电子邮件地址:".$_POST["mail"];
    if( checkmail($_POST["mail"]))
        echo " — <font color=green>有效</font>";
    else
        echo " — <font color=red>无效</font>";
}
?>

<form method=post action="">
<input type=text name=mail ><input type="submit" value="检查">
</form>

<?

function server_parse($socket, $response, $line = __LINE__){
    while (substr($server_response, 3, 1) != ' '){
        if (!($server_response = fgets($socket, 512))){
            return false;
        }
    }
    if (!(substr($server_response, 0, 3) == $response)){
        return false;
    }
    return true;
}

function checkmail($strMail){
    $arrMail=explode("@",$strMail);
    if(! getmxrr ( $arrMail[1], $mxhosts ,$bb))return -1;
    if($mxhosts[0]=="")return -1;//不能获得主机的MX信息
    $cc=false;
    for($i=0;$i<count($mxhosts);$i++){
        echo $mxhosts[$i]." ";
        if( $socket = @fsockopen($mxhosts[$i], 25, $errno, $errstr, 5) ){
            if(server_parse($socket, "220", __LINE__)){
                $cc=true;
                break;
            }
        }
    }
    if($cc==false)return -2;//不能打开主机
    fputs($socket, "HELO ".$arrMail[1]." ");
    if(!server_parse($socket, "250", __LINE__))return -3;

    srand((double)microtime()*1000000);
    $randval = substr(md5(uniqid(rand())),0,6);
    fputs($socket, "MAIL FROM:<$randval@testemail.com> ");
    //使用是请将testemail.com改成你网站的域名
    if(!server_parse($socket, "250", __LINE__))return -4;

    fputs($socket, "RCPT TO:<$strMail> ");
    if(!server_parse($socket, "250", __LINE__))return -5;//无效的用户名

    fclose($socket);
    return true;
}
?>

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 用PHP验证邮箱是否真实有效

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00249