DNS_GET_RECORD MX поиск не удалось - PullRequest
1 голос
/ 04 августа 2010

У меня есть 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 Ответ

2 голосов
/ 04 августа 2010

Рассматривали ли вы использование getmxrr() для получения записей mx для домена?Документация здесь: http://us2.php.net/manual/en/function.getmxrr.php

...