Fonction PHP getmxrr() : Tout ce que vous devez savoir
En tant que développeur PHP, vous devrez peut-être obtenir les enregistrements de messagerie (MX) pour un nom de domaine donné. Dans de tels cas, la fonction getmxrr() était historiquement utilisée. Important : getmxrr() a été dépréciée dans PHP 8.2 et supprimée dans PHP 8.4. Pour les applications PHP modernes, utilisez plutôt dns_get_record(). Cet article explique la fonction héritée afin de maintenir d'anciennes bases de code.
Qu'est-ce que la fonction getmxrr() ?
La fonction getmxrr() effectue une recherche DNS sur un nom de domaine spécifié et renvoie un tableau de tous les enregistrements MX associés. Elle nécessite que l'extension dns soit activée dans votre environnement PHP. La fonction renvoie true en cas de succès et false en cas d'échec.
Comment utiliser la fonction getmxrr()
L'utilisation de la fonction getmxrr() est simple. Voici la syntaxe de la fonction :
La syntaxe PHP de la fonction getmxrr()
getmxrr($hostname, &$mxhosts, &$weight);La fonction prend trois paramètres :
$hostname: Le nom de domaine pour lequel vous souhaitez récupérer les enregistrements MX.$mxhosts: Une référence vers un tableau qui stockera les hôtes MX pour le nom de domaine. (Remarque : À partir de PHP 5.3, le symbole&n'est requis que dans la signature de la fonction, et non lors de l'appel.)$weight: Une référence vers un tableau qui stockera les poids de priorité des hôtes MX.
Voici un exemple d'utilisation de la fonction getmxrr() pour récupérer les enregistrements MX d'un nom de domaine :
Comment utiliser la fonction getmxrr() ?
<?php
$hostname = "example.com";
$mxhosts = [];
$weight = [];
if (getmxrr($hostname, $mxhosts, $weight)) {
for ($i = 0; $i < count($mxhosts); $i++) {
echo "MX record for $hostname: " . $mxhosts[$i] . ", Weight: " . $weight[$i] ;
}
} else {
echo "No MX record found for $hostname";
}Dans cet exemple, nous récupérons les enregistrements MX pour le nom de domaine "example.com". La fonction effectue une recherche DNS et remplit les tableaux $mxhosts et $weight. Nous parcourons ensuite ces tableaux pour afficher les hôtes MX et leurs poids. Si la recherche échoue, le bloc else gère l'erreur correctement.
Conclusion
La fonction getmxrr() est un outil hérité pour récupérer les enregistrements MX dans les anciennes versions de PHP. En comprenant sa syntaxe et son comportement, vous pouvez maintenir la compatibilité avec d'anciennes bases de code. Pour les nouveaux projets, nous recommandons d'utiliser dns_get_record() avec l'indicateur de type DNS_MX à la place. Nous espérons que cet article vous a été utile pour travailler avec les fonctions DNS historiques de PHP.
Pratique
Quel est le rôle de la fonction getmxrr() en PHP ?