我已经获得此代码用于测试,并验证进入的电子邮件地址是否有效。我知道这是有效的,但在圣诞节期间所有的礼物再次取消了价格标签。
在我的情况下,说明已被删除。我正在接受我在这个脚本中看到的“MX”告诉脚本使用MX验证数据库...我只是替换或添加它旁边的“spamhaus.org”以使其工作?还是不止于此?
我不是在Windows机器上作为我的服务器所以我不需要担心checkdnsrr无法正常工作。
此外,这个脚本有更好的版本吗?我很好奇,因为毫无疑问,这部分PHP编码对我来说是新的。
提前致谢。
// take a given email address and split it into the username and domain.
list($userName, $mailDomain) = split("@", $email);
if (checkdnsrr($mailDomain, "MX")) {
// this is a valid email domain!
}
else {
// this email domain doesn't exist! bad dog! no biscuit!
}
答案 0 :(得分:5)
从http://php.net/manual/en/function.checkdnsrr.php开始,checkdnsr唯一支持的方法是A,MX,NS,SOA,PTR,CNAME,AAAA,A6,SRV,NAPTR,TXT或ANY。您无法添加自定义网址。
尝试:
$host = '64.53.200.156';
$rbl = 'sbl-xbl.spamhaus.org';
// valid query format is: 156.200.53.64.sbl-xbl.spamhaus.org
$rev = array_reverse(explode('.', $host));
$lookup = implode('.', $rev) . '.' . $rbl;
if ($lookup != gethostbyname($lookup)) {
echo "ip: $host is listed in $rbl\n";
} else {
echo "ip: $host NOT listed in $rbl\n";
}