getmxrr($url, &$mxHosts)
州的php manual:
如果找到任何记录,则返回TRUE;如果未找到任何记录或发生错误,则返回FALSE。
但对于某些域名(例如 www.yahoo.com,example.com.com ),它只返回 true 但返回参数$mxHosts
为空。两个域都没有MX记录。 checkdnsrr()
也会返回 true 。
我比较了这些域的DNS条目,并注意到它们都有一个CNAME条目,而我测试的其他域和功能正常工作的域没有它。
为什么getmxrr()
和checkdnsrr()
会给出错误的结果值?这与CNAME有什么关系吗?
答案 0 :(得分:1)
<?php
getmxrr ('yahoo.com', $out);
print_r($out);
$a = checkdnsrr('yahoo.com', 'MX');
var_dump($a);
Array
(
[0] => mta7.am0.yahoodns.net
[1] => mta5.am0.yahoodns.net
[2] => mta6.am0.yahoodns.net
)
bool(true)
你说得对,你必须输入没有任何www的域名。
<?php
getmxrr ('www.yahoo.com', $out);
print_r($out);
Array
(
)
bool(true)