1
get_dns_record을 사용하여 양식을 통해 제출 된 도메인의 특정 DNS 레코드를 검색하고 표시하는 PHP 스크립트가 있습니다.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;
}
}
}
예.하지만 동일한 설정을 사용하여 구현 방법을 잘 모르겠습니다. MX 레코드를 찾을뿐만 아니라 가리키는 부분과 목적지의 IP 주소를 표시해야합니다. – Batfan