DNS_GET_RECORD сбой поиска MX

У меня есть Сценарий PHP, который использует get_dns_record, чтобы получить и отобразить определенные записи DNS для домена, отправленного через форму.

Это работает действительно хорошо, за исключением того, что раздел, который обрабатывает записи MX, немного ненадежен. Иногда никакие Записи MX не отображены вообще (на доменах, которые я знаю, имеют их). Если Вы обновитесь 2-3 раза, то иногда они будут обнаруживаться. Иногда они не будут.

Мысли?

function getDNSRecord($domain1) {
$dns = dns_get_record( $domain1, DNS_ANY );
echo "These are DNS records";
foreach( $dns as $d ) {
    // Only print A and MX records
    if( $d['type'] != "A" and $d['type'] != "MX" )
        continue;

    // Print type specific fields
    switch( $d['type'] ) {
        case 'A':
            // Display annoying message
            echo "<b>\n" . $d['ip'] . "</b>\n is the Primary A Record for this domain.";
            break;
        case 'MX':
            // Resolve IP address of the mail server
            $mx = dns_get_record( $d['target'], DNS_A );
            foreach( $mx as $server ) {
                echo "This MX record for " . $d['host'] . " points to the server <b>\n" . $d['target'] . "</b>\n whose IP address is <b>\n" . $server['ip'] . "</b>. It has a priority of <b>\n" . $d['pri'] . "</b>\n.";
            }
        if ( $d['target'] == $domain1 ) {
            echo "<div id='mx-status'>There is an issue with this MX Record</div>\n";
                } else {
            echo "<div id='mx-status'>This MX Record looks fine.</div>\n";
            }
            break;
    }
}
}
1
задан Batfan 4 August 2010 в 19:51
поделиться