PHP实例——验证邮件的主机是否存在

  在网上,注册要求最多就是填入邮件地址,然后有些网站需要邮件激活认证。试想一下,有些用户只是为了下载或者看些内容才无奈注册的,那些提给你个邮件是否能用呢?我想更多的会随便写下类似:asfsagdfg@adfdlknsafdf.com  这样的邮件地址吧。后台验证邮件格式没一点问题,然后后台开始给发送邮件了,这时候资源的浪费是多么严重啊,后台程序等了半天,结果超时,系统的资源就这么消耗了。有没有一种方法既验证邮件格式又验证邮件主机本身是否正确呢?

  今天看书,从书中看到很多PHP跟网络相关的函数比如查看DNS记录(dns_get_record)、获取主机MX记录(getmxrr)、获取服务器端口号(getservname)以及套接字、邮件等函数。

  既然PHP有这么多好的功能来查看主机域名的状态,何不写一个主机验证的函数,既节省了带宽,又节约了宝贵的系统资源:

  

<?PHP

    $a = filter_var('sa_d-fs.a12d@163.com',FILTER_VALIDATE_EMAIL);
    $site = explode('@',$a);
    $result = checkdnsrr($site[1],'mx');
    echo($result);

?>
posted @ 2012-05-18 10:29  小 伍  阅读(710)  评论(1编辑  收藏  举报