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