現在の位置: ホーム> 最新記事一覧> GETMXRR関数を使用してドメイン名のMXレコードを確認し、結果の意味を理解する方法は?

GETMXRR関数を使用してドメイン名のMXレコードを確認し、結果の意味を理解する方法は?

gitbox 2025-09-09

PHPでは、 GetMXRRは、開発者が指定されたドメイン名をMXレコード(メール交換レコード)をクエリするのに役立つ非常に便利な機能です。これらのレコードを通して、ドメイン名メールサーバーのアドレスを知ることができ、それにより、メールシステムの構成と診断のための重要な情報を提供できます。この記事では、 GETMXRR関数を使用してドメイン名のMXレコードを確認し、結果の意味を解釈する方法を詳細に紹介します。

1。MXレコードとは何ですか?

MX(Mail Exchange)レコードはDNS(ドメイン名システム)の一部であり、メールシステムがメールを配信するサーバーを示す責任があります。各MXレコードには、Mail Serverを指す優先度とドメイン名が含まれています。メールサービスプロバイダーは、これらのレコードを使用して、メールの配信ルートを決定します。

たとえば、 Example.comにメールを送信するとき、メールシステムはExample.comのMXレコードをクエリし、Priorityに応じて対応するメールサーバーにメールを配信します。

2。getMXRR関数を使用してMXレコードを照会する方法は?

PHPのGETMXRR関数は、指定されたドメイン名のMXレコードを取得するために使用されます。関数の署名は次のとおりです。

 <span><span><span class="hljs-title function_ invoke__">getmxrr</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">array</span></span><span> &amp;</span><span><span class="hljs-variable">$mxhosts</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> &amp;</span><span><span class="hljs-variable">$weight</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
  • $ hostnameexample.comなどのドメイン名をクエリします。

  • $ mxhosts :これは参照型パラメーターです。関数が実行された後、この配列はすべてのクエリMXレコードで満たされます。

  • $ weight :これは、各MXレコードに対応する優先度(重量)を含むオプションの参照型パラメーターです。

クエリが成功した場合、 getMXRR関数はtrueを返し、 $ mxhostsアレイにすべてのMXレコードが含まれ、 $ weightアレイには対応する優先度が含まれます。クエリが失敗した場合、関数はfalseを返します。

3。サンプルコード

GetMXRRを使用してドメイン名のMXレコードを照会する方法を示す簡単な例を次に示します。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$hostname</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;  </span><span><span class="hljs-comment">// クエリしたいドメイン名</span></span><span>
</span><span><span class="hljs-variable">$mxhosts</span></span><span> = [];
</span><span><span class="hljs-variable">$weight</span></span><span> = [];

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">getmxrr</span></span><span>(</span><span><span class="hljs-variable">$hostname</span></span><span>, </span><span><span class="hljs-variable">$mxhosts</span></span><span>, </span><span><span class="hljs-variable">$weight</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MXレコードクエリが成功しました!\n"</span></span><span>;
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$mxhosts</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$index</span></span><span> =&gt; </span><span><span class="hljs-variable">$mxhost</span></span><span>) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"メールサーバー: <span class="hljs-subst">$mxhost</span></span></span><span>, 優先度: " . </span><span><span class="hljs-variable">$weight</span></span><span>[</span><span><span class="hljs-variable">$index</span></span><span>] . </span><span><span class="hljs-string">"\n"</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">"クエリすることができませんMX記録。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

上記のコードでは、最初にdomain name example.comをクエリに定義します。 getMXRR関数を介して、すべてのMXレコードとその優先順位を取得し、クエリの結果を出力します。

4.MXレコードの優先順位を理解する方法は?

各MXレコードには優先事項があり、そのメールサーバーの優先順位を示しています。優先度が小さいほど、優先度が高くなります。つまり、メールシステムがドメイン名に電子メールを送信しようとすると、最初に最小の優先度(最小数)でメールサーバーに試みます。サーバーがメールの受信に失敗した場合、システムは代わりに、より高い優先度(より大きな)で次のメールサーバーを試します。

たとえば、 Example.comのMXレコードが次のとおりであるとします。

 <span><span><span class="hljs-section">メールサーバー: mail1.example.com, 優先度: 10</span></span><span>
</span><span><span class="hljs-section">メールサーバー: mail2.example.com, 優先度: 20</span></span><span>
</span><span><span class="hljs-section">メールサーバー: mail3.example.com, 優先度: 30</span></span><span>
</span></span>

これは、メールシステムが最初にmail1.example.comを試してみることを意味します。サーバーが使用できない場合は、 mail2.example.comなどを試してください。

5。一般的なアプリケーションシナリオ

  1. メールシステムの構成:独自のドメイン名メールサーバーを設定すると、 getMXRRを使用して、構成したMXレコードが正しいことを確認できます。たとえば、指定されたメールサーバーが機能していること、およびその優先順位が正しく構成されていることを確認できます。

  2. メール配信の問題の問題:電子メールを送信または受信できない問題が発生した場合、 GETMXRRを使用してMXレコードを確認することは、DNS構成の問題をトラブルシューティングする良い方法です。

  3. ドメイン名の確認:一部のアプリケーションまたはサービスは、ドメイン名がメールサーバーで正しく構成されていることを確認する必要があります。 getMXRRを使用すると、ドメイン名のメール交換履歴を簡単に確認できます。

6。注意すべきこと

  • getMXRR関数は、パブリックMXレコードのみをクエリすることができます。ドメイン名にMXレコードが構成されていない場合、関数はfalseを返します。

  • クエリドメイン名に複数のMXレコードがある場合、返された結果の配列は優先順位でソートされます(優先度が少ないものは最初にランク付けされます)。

  • ドメイン名が複数のMXレコードで構成されている場合、メールシステムがメール配信パスを正しく選択できるように、各レコードの優先度を十分に理解していることを確認してください。

7。概要

PHPのgetMXRR関数は、開発者がドメイン名のMXレコードをすばやく確認および解析するのに役立つ強力なツールです。 MXレコードの優先メカニズムを理解することにより、メールサーバーの問題をより適切に構成およびトラブルシューティングできます。電子メールシステムのセットアップ時であろうと、電子メール配信の問題のトラブルシューティングの場合でも、 getMXRRは有用なヘルプを提供できます。