查詢

dns_get_mx()函式—用法及示例

「 獲取指定主機名的郵件交換(MX)記錄 」


函式名: dns_get_mx()

適用版本: PHP 4 >= 4.0.0, PHP 5, PHP 7

引數:(string) $hostname

返回值:返回 MX 記錄的二維陣列列表,每個條目包含 "host" 和 "pri" 欄位,如果出錯則返回 FALSE。

描述:dns_get_mx() 函式用於獲取指定主機名的郵件交換(MX)記錄。它將查詢 DNS 伺服器以獲取主機名的 MX 記錄,並以二維陣列的形式返回這些記錄。MX 記錄是指定處理特定域的郵件伺服器的地址。通常情況下,MX 記錄由一個或多個郵件伺服器的域名和優先順序 (priority) 組成。

注意事項:

  • 該函式僅能透過遞迴查詢 DNS 伺服器獲取 MX 記錄,因此可能會導致在某些環境下效能下降或超時。
  • 如果沒有找到 MX 記錄,dns_get_mx() 函式會返回空陣列。
  • 如果出錯,例如無法連線到 DNS 伺服器或主機名不存在,dns_get_mx() 函式會返回 FALSE。

示例:

$hostname = 'example.com';
$mxRecords = dns_get_mx($hostname);

if ($mxRecords) {
    echo "MX Records for $hostname:\n";

    foreach ($mxRecords as $record) {
        $host = $record['host'];
        $priority = $record['pri'];
        echo "Host: $host, Priority: $priority\n";
    }
} else {
    echo "No MX Records found for $hostname\n";
}

輸出:

MX Records for example.com:
Host: mx1.example.com, Priority: 10
Host: mx2.example.com, Priority: 20

上述示例中,我們透過呼叫 dns_get_mx() 函式並傳遞主機名 'example.com' 作為引數來獲取該域的 MX 記錄。如果成功,返回的 $mxRecords 陣列將包含一個或多個 MX 記錄的條目,我們可以使用 foreach 迴圈來遍歷並列印每個記錄的主機名和優先順序。如果沒有找到 MX 記錄,將輸出相應的提示資訊。

補充糾錯
上一個函式: dns_check_record()函式
下一個函式: DocResult::fetchAll()函式
熱門PHP函式
分享連結