【PHP8.x】dns_get_mx関数の使い方
dns_get_mx関数は、特定のドメイン名に対して、電子メールの配送先となるメールサーバーの情報を取得する関数です。この関数は、指定されたドメインのMX(Mail Exchange)レコードをDNS(Domain Name System)から検索し、その結果を詳細な情報として提供します。
具体的には、最初の引数にMXレコードを検索したいドメイン名(例: "example.com")を指定します。成功した場合、2番目の引数には、見つかったメールサーバーのホスト名(例: "mail.example.com"など)が文字列の配列として参照渡しで格納されます。3番目の引数には、各メールサーバーの優先度(重み)が整数の配列として同様に参照渡しで格納されます。優先度が小さいメールサーバーほど、より優先的に利用されることを意味します。
この関数は、MXレコードの取得に成功した場合はtrue
(真)を返し、何らかの理由で失敗した場合はfalse
(偽)を返します。例えば、指定されたドメインが存在しない場合や、そのドメインにMXレコードが設定されていない場合などが失敗の原因となります。
この機能は、メール送信を行うアプリケーションで、指定されたドメインの有効なメールサーバーを特定したり、ドメインのメール設定が正しく行われているかを確認したりする際に役立ちます。DNSの専門知識がなくても、この関数を利用することでドメインの重要なメール関連情報を簡単に取得できます。
基本的な使い方
構文(syntax)
<?php
$hostname = 'example.com';
$mxhosts = []; // MXレコードのホスト名を格納する配列
$weight = []; // MXレコードの重みを格納する配列
dns_get_mx($hostname, $mxhosts, $weight);
?>
引数(parameters)
string $hostname, array &$hosts, array &$weights = null
- string $hostname: 調べる対象のホスト名(ドメイン名)を指定する文字列
- array &$hosts: MXレコードのホスト名が格納される配列。参照渡しされるため、関数の実行後に更新されます。
- array &$weights = null: MXレコードの優先度(重み)が格納される配列。省略可能で、参照渡しされるため、関数の実行後に更新されます。
戻り値(return)
bool
指定されたホスト名に対するMX(Mail Exchanger)レコードの検索が成功したかどうかを真偽値(boolean)で返します。成功した場合は true
、失敗した場合は false
を返します。