如何让checkdnsrr使用Spamhaus.org而不是MX?

Mat*_*dge 3 php verification spam

我已经获得此代码用于测试,并验证进入的电子邮件地址是否有效.我知道这是有效的,但在圣诞节期间所有的礼物再次取消了价格标签.

在我的情况下,指令已被删除.我正在接受我在这个脚本中看到的"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!
} 
Run Code Online (Sandbox Code Playgroud)

Gar*_*ing 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";
}
Run Code Online (Sandbox Code Playgroud)