PHP에서 CheckDnsrr 함수는 도메인 이름에 대한 DNS 레코드를 확인하는 데 사용할 수있는 매우 유용한 도구입니다. 도메인 이름을 레코드, CNAME 레코드 등을 감지하는 데 종종 사용되지만 MX (Mail Exchange) 레코드를 확인하는 데 사용될 수 있으므로 도메인 이름에 메일 서버가 구성되어 있는지 확인하는 데 도움이됩니다. 이 기사를 사용하면 단계별로 Domain 이름의 MX 레코드를 확인하기 위해 CheckDNSRR 기능을 사용하는 방법을 확인합니다.
CheckDNSRR은 지정된 도메인 이름에 지정된 유형의 DNS 레코드가 있는지 확인하는 함수입니다. 함수 서명은 다음과 같습니다.
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">checkdnsrr</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$hostname</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$type</span></span><span> = </span><span><span class="hljs-string">"any"</span></span><span> )
</span></span>$ hostname : 확인할 도메인 이름 ( example.com 과 같은 전체 도메인 이름 일 수 있음).
$ 유형 : 확인할 DNS 레코드 유형, 기본값은 "Any" , 즉 모든 레코드를 확인합니다. 특정 유형의 레코드 (예 : MX 레코드, 레코드 등) 만 확인하면 "MX" 로 지정할 수 있습니다.
도메인 이름에 메일 서버가 구성되어 있는지 확인하려면 CheckDNSRR 기능을 사용하고 $ 유형을 "MX" 로 설정할 수 있습니다. 예는 다음과 같습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">checkdnsrr</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>, </span><span><span class="hljs-string">"MX"</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"도메인 이름 <span class="hljs-subst">$domain</span></span></span><span> 구성되었습니다 MX 기록,일반적으로 메일 서버가 있음을 의미합니다。";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"도메인 이름 <span class="hljs-subst">$domain</span></span></span><span> 구성되지 않았습니다 MX 기록,메일 서버가 없을 수 있습니다。";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>위의 코드에서 먼저 확인할 도메인 이름 example.com을 지정합니다. 그런 다음 CheckDNSRR 기능을 사용하여 MX 레코드가 있는지 확인하십시오. 반환 값이 true 인 경우 도메인 이름에 MX 레코드가 구성되었으며 메일 서버가있을 수 있습니다. False 인 경우 도메인 이름에 MX 레코드가 구성되지 않았 음을 의미합니다.
CheckDnsrr 함수는 도메인 이름에 MX 레코드가 구성되어 있는지 여부 만 결정할 수 있지만 특정 MX 레코드 컨텐츠를 반환하지는 않습니다. 메일 서버의 호스트 이름 또는 우선 순위와 같은 자세한 MX 레코드를 가져와야하는 경우 DNS_GET_RECORD 함수와 함께 DNS_GET_RECORD 기능을 사용할 수 있습니다. 이 기능은 MX 레코드의 세부 사항을 포함하여 지정된 유형의 모든 DNS 레코드를 반환 할 수 있습니다.
다음은 dns_get_record를 통해 MX 레코드를 얻고 표시하는 방법을 보여주는 예입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;
</span><span><span class="hljs-comment">// 얻다 MX 기록</span></span><span>
</span><span><span class="hljs-variable">$records</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dns_get_record</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>, DNS_MX);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$records</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"도메인 이름 <span class="hljs-subst">$domain</span></span></span><span> ~의 MX 기록如下:<br>";
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$records</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$record</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"우선 사항: "</span></span><span> . </span><span><span class="hljs-variable">$record</span></span><span>[</span><span><span class="hljs-string">'pri'</span></span><span>] . </span><span><span class="hljs-string">" - 메일 서버: "</span></span><span> . </span><span><span class="hljs-variable">$record</span></span><span>[</span><span><span class="hljs-string">'target'</span></span><span>] . </span><span><span class="hljs-string">"<br>"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"도메인 이름 <span class="hljs-subst">$domain</span></span></span><span> 찾을 수 없습니다 MX 기록。";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>이 예에서는 DNS_GET_RECORD를 사용하여 지정된 도메인 이름의 MX 레코드를 얻습니다. 결과는 배열이며, MX 레코드의 우선 순위 ( PRI )와 대상 메일 서버 ( 대상 )의 주소를 포함하는 각 요소입니다.
CheckDnsrr 함수를 통해 도메인 이름에 MX 레코드가 구성된지 여부를 신속하게 결정한 다음 도메인 이름에 이메일 서비스가 있는지 여부를 추측 할 수 있습니다. 그러나보다 자세한 MX 기록 정보가 필요한 경우 DNS_GET_RECORD 기능을 함께 사용할 수 있습니다. 이 조합은 이메일 관련 DNS 구성을 더 잘 해결하고 관리하는 데 도움이됩니다.
위의 것은 PHP의 CheckDnsrr 함수를 사용하여 도메인 이름의 MX 레코드를 확인하는 방법입니다.