2010-08-04 8 views
1

У меня есть PHP-скрипт, который использует get_dns_record для извлечения и отображения определенных записей DNS для домена, отправленных через форму.DNS_GET_RECORD Ошибка поиска MX

Он работает очень хорошо, за исключением того, что раздел, который обрабатывает записи 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; 
    } 
} 
} 

ответ

2

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

+0

Да, но я не уверен, как ее реализовать, используя ту же настройку. Мне нужно не только найти запись MX, но и показать, на что она указывает, и IP-адрес его цели. – Batfan

 Смежные вопросы

  • Нет связанных вопросов^_^