Dans PHP, GetMXRR est une fonction très utile qui peut aider les développeurs à interroger les enregistrements MX (enregistrements d'échange de courrier) pour les noms de domaine spécifiés. Grâce à ces enregistrements, nous pouvons connaître l'adresse d'un serveur de messagerie de nom de domaine, fournissant ainsi des informations importantes pour la configuration et le diagnostic du système de messagerie. Cet article présentera en détail comment utiliser la fonction GetMXRR pour vérifier les enregistrements MX du nom de domaine et interpréter la signification du résultat.
L'enregistrement MX (Mail Exchange) fait partie du DNS (système de nom de domaine) et est responsable d'indiquer à quel serveur le système de messagerie doit livrer des e-mails. Chaque enregistrement MX contient une priorité et un nom de domaine pointant vers le serveur de messagerie. Les fournisseurs de services de courrier utilisent ces enregistrements pour déterminer la voie de livraison du courrier.
Par exemple, lors de l'envoi d'un e-mail à Example.com , le système de messagerie interroge les enregistrements MX d' exemple.com , puis remet le courrier au serveur de messagerie correspondant en fonction de la priorité.
La fonction GETMXRR de PHP est utilisée pour obtenir l'enregistrement MX du nom de domaine spécifié. La signature de la fonction est la suivante:
<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> &</span><span><span class="hljs-variable">$mxhosts</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> &</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>
$ hostname : le nom de domaine à interroger, comme example.com .
$ mxhosts : il s'agit d'un paramètre de type de référence. Une fois la fonction exécutée, ce tableau sera rempli de tous les enregistrements de requête MX.
$ poids : il s'agit d'un paramètre de type de référence facultatif qui contient la priorité (poids) correspondant à chaque enregistrement MX.
Si la requête réussit, la fonction GetMXRR renvoie true et le tableau $ mxhosts contiendra tous les enregistrements MX, et le tableau de poids $ contiendra la priorité correspondante. Si la requête échoue, la fonction renvoie false .
Voici un exemple simple qui montre comment interroger l'enregistrement MX d'un nom de domaine à l'aide de getmxrr :
<span><span><span class="hljs-meta"><?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">// Le nom de domaine que vous souhaitez interroger</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">"MXLa requête d'enregistrement a réussi!\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> => </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">"Serveur de messagerie: <span class="hljs-subst">$mxhost</span></span></span><span>, Priorité: " . </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">"Impossible de demanderMXEnregistrer。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Dans le code ci-dessus, nous définissons d'abord le nom de domaine Exemple.com pour interroger. Grâce à la fonction GETMXRR , nous obtenons tous les enregistrements MX et leurs priorités, puis sur le résultat de la requête.
Chaque enregistrement MX a une priorité, indiquant la priorité de ce serveur de messagerie. Plus le nombre de priorités est petit, plus la priorité est élevée. Autrement dit, lorsque le système de messagerie essaie d'envoyer un e-mail à un nom de domaine, il essaie d'abord le serveur de messagerie avec la priorité la plus basse (le plus petit numéro). Si le serveur ne reçoit pas de courrier, le système essaiera à la place le prochain serveur de messagerie avec une priorité plus élevée (plus grand nombre).
Par exemple, supposons que l'enregistrement MX de Example.com est le suivant:
<span><span><span class="hljs-section">Serveur de messagerie: mail1.example.com, Priorité: 10</span></span><span>
</span><span><span class="hljs-section">Serveur de messagerie: mail2.example.com, Priorité: 20</span></span><span>
</span><span><span class="hljs-section">Serveur de messagerie: mail3.example.com, Priorité: 30</span></span><span>
</span></span>
Cela signifie que le système de messagerie essaiera d'abord Mail1.example.com , si le serveur n'est pas disponible, essayez Mail2.example.com , etc.
Configuration du système de courrier : Lorsque vous configurez votre propre serveur de messagerie de nom de domaine, vous pouvez utiliser GetMXRR pour vérifier que les enregistrements MX que vous avez configurés sont corrects. Par exemple, vous pouvez vous assurer que le serveur de messagerie spécifié fonctionne et que sa priorité est correctement configurée.
Dépannage des problèmes de livraison des e-mails : Si vous rencontrez des problèmes que les e-mails ne peuvent pas être envoyés ou reçus, la vérification des enregistrements MX à l'aide de GetMXRR est un bon moyen de résoudre les problèmes de configuration DNS.
Vérification du nom de domaine : certaines applications ou services doivent vérifier que le nom de domaine est correctement configuré avec le serveur de messagerie. Avec GetMXRR , vous pouvez facilement vérifier l'historique des échanges de courrier du nom de domaine.
La fonction GETMXRR ne peut interroger que les enregistrements MX publics. Si le nom de domaine n'a pas de enregistrements MX configurés, la fonction renvoie false .
S'il y a plusieurs enregistrements MX dans le nom de domaine de requête, les tableaux dans les résultats retournés seront triés par priorité (ceux avec de petits nombres de priorité sont classés en premier).
Si le nom de domaine est configuré avec plusieurs enregistrements MX, assurez-vous d'avoir une compréhension suffisante de la priorité de chaque enregistrement pour vous assurer que le système de messagerie peut sélectionner correctement le chemin de livraison du courrier.
La fonction GetMXRR dans PHP est un outil puissant qui peut aider les développeurs à vérifier rapidement et à analyser les enregistrements MX des noms de domaine. En comprenant le mécanisme de priorité des enregistrements MX, vous pouvez mieux configurer et résoudre les problèmes avec le serveur de messagerie. Que ce soit lors de la configuration du système de messagerie ou lors du dépannage des problèmes de livraison des e-mails, GETMXRR peut vous fournir une aide utile.