現在の位置: ホーム> 最新記事一覧> checkdnsrr関数を介してドメイン名のMXレコードを確認する方法は?

checkdnsrr関数を介してドメイン名のMXレコードを確認する方法は?

gitbox 2025-09-29

PHPでは、 CHECKDNSRR関数は非常に便利なツールであり、ドメイン名のDNSレコードを確認するために使用できます。ドメイン名のレコード、cNameレコードなどを検出するためによく使用されますが、メールExchange(MX)レコードを確認するためにも使用できます。これにより、ドメイン名にメールサーバーが構成されているかどうかを判断できます。この記事では、 CHECKDNSRR関数を使用してドメイン名のMXレコードを確認する方法を確認するための段階的に段階的に説明します。

1。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レコードのタイプ、デフォルトは「任意」 、つまりすべてのレコードをチェックします。特定のタイプのレコード(MXレコード、レコードなど)のみを確認する必要がある場合は、 「MX」として指定できます。

2。CheckDnSRR使用してMXレコードを確認します

ドメイン名にメールサーバーが構成されているかどうかを確認するには、 checkdnsrr関数を使用し、 $タイプを「mx」に設定できます。これが例です:

 <span><span><span class="hljs-meta">&lt;?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">?&gt;</span></span><span>
</span></span>

上記のコードでは、最初にチェックするドメイン名example.comを指定します。次に、 checkdnsrr関数を使用して、MXレコードがあるかどうかを判断します。返品値が真である場合、ドメイン名にMXレコードが構成されており、メールサーバーがある可能性があります。 falseの場合、ドメイン名にMXレコードが構成されていないことを意味します。

3。MXレコードを分析します

CHECKDNSRR関数は、ドメイン名にMXレコードが構成されているかどうかのみを決定することができますが、特定のMXレコードコンテンツは返されません。メールサーバーのホスト名や優先度など、より詳細なMXレコードを取得する必要がある場合は、DNS_GET_RECORD関数と組み合わせてDNS_GET_RECORD関数を使用できます。この関数は、MXレコードの詳細を含む、指定されたタイプのすべてのDNSレコードを返すことができます。

DNS_GET_RECORDを介してMXレコードを取得および表示する方法を示す例を次に示します。

 <span><span><span class="hljs-meta">&lt;?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 記録如下:&lt;br&gt;";
    </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">"&lt;br&gt;"</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">?&gt;</span></span><span>
</span></span>

この例では、 DNS_GET_RECORDを使用して、指定されたドメイン名のMXレコードを取得します。返される結果は配列で、各要素はMXレコードの優先度( PRI )とターゲットメールサーバー(ターゲット)のアドレスを含むものです。

4。概要

CHECKDNSRR関数を介して、ドメイン名にMXレコードが構成されているかどうかをすばやく判断し、ドメイン名に電子メールサービスがあるかどうかを推測できます。ただし、より詳細なMX記録情報が必要な場合は、 DNS_GET_RECORD関数を使用して使用できます。この組み合わせは、電子メール関連のDNS構成をより適切に解決および管理するのに役立ちます。

上記は、PHPのCHECKDNSRR関数を使用して、ドメイン名のMXレコードを確認する方法です。