我正在使用下面的代码来验证电子邮件if(checkdnsrr($domain,"MX")){echo'mx-pass';}else{echo'mx-fail';}我的愿望是检查域是否有效并且是否有MX记录。我已经在使用正则表达式来检查电子邮件格式,但人们输入了类似someone@gmail.con的内容,这显然是错误的,但通过了基本格式验证。我想进一步验证,但我不想走得太远而得到假阴性。有没有人发现我的解决方案有任何问题或有更好的方法? 最佳答案 您的解决方案非常好!但是,在您进行DNS调用之前,我建议您先使用FILTER_VALI
我已获得此代码以用于测试并验证传入的电子邮件地址是否有效。我知道这行得通,但在圣诞节期间,所有礼物的价格标签都被取消了。就我而言,说明已被删除。我根据我在这个脚本中看到的内容,“MX”告诉脚本使用MXVerify数据库...我是否只是替换或添加旁边的“spamhaus.org”以使其工作?还是不止于此?我的服务器不是Windows机器,所以我不必担心checkdnsrr无法正常工作。还有,这个脚本有更好的版本吗?我很好奇,因为不幸的是,这部分PHP编码对我来说是新的。提前致谢。//takeagivenemailaddressandsplititintotheusernameanddom
我在PHP中尝试使用checkdnsrr()函数来测试给定的主机名是否有效。PHP代码如下:$url="this_is_a_wrong_url.com";if(checkdnsrr($url,'A')){echo"Domainexists.";}else{echo"Domaindoesnotexists.";}但即使对于无效的url,它也会返回true。我做错了什么?我正在使用PHP5.3.5编辑:此代码在具有相同PHP版本的Linux机器上运行良好。它仅在Windows机器上给出无效结果。 最佳答案 一些ISP会将无效域重定向到他
我正在使用checkdnsrr在带有PHP5.3的Windows上,它始终返回false。dns_get_record,但是,有效。echo("test.comdnscheck:".checkdnsrr("test.com","NS"));//false!!print_r(dns_get_record("test.com",DNS_NS));//returnstherightdata 最佳答案 我想我找到了一些东西(在Windows上试过,PHP5.3.0,来自CLI):当我这样做时:$tests=array('A','MX','N
$domain='abasdfasdfac.comlkjljkl';//Yes,anuglyinvaliddomain$start_time=microtime(true);echo"MX";var_dump(checkdnsrr($domain,'MX'));echo"";$end_time=microtime(true);echo"runtime:".($end_time-$start_time)."";在我的开发系统(带有AT&T的住宅DSL上的Win+XAMPP)上运行它时,我得到的时间大约为60毫秒。但是,当上传到实时服务器并从那里运行时,运行时间会增加到20秒范围。如果我改