【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 を返します。

【PHP8.x】dns_get_mx関数の使い方 | いっしー@Webエンジニア