PHP getmxrr()-Funktion: Alles, was Sie wissen müssen
Als PHP-Entwickler müssen Sie möglicherweise die Mail Exchange (MX)-Records für einen bestimmten Domainnamen abrufen. In solchen Fällen wurde früher die Funktion getmxrr() verwendet. Wichtig: getmxrr() wurde in PHP 8.2 als veraltet markiert und in PHP 8.4 entfernt. Verwenden Sie für moderne PHP-Anwendungen stattdessen dns_get_record(). Dieser Artikel erläutert die Legacy-Funktion zur Wartung älterer Codebasen.
Was ist die getmxrr()-Funktion?
Die Funktion getmxrr() führt eine DNS-Suche für einen angegebenen Domainnamen durch und gibt ein Array aller zugehörigen MX-Records zurück. Dazu muss die Erweiterung dns in Ihrer PHP-Umgebung aktiviert sein. Die Funktion gibt bei Erfolg true und bei einem Fehler false zurück.
So verwenden Sie die getmxrr()-Funktion
Die Verwendung der Funktion getmxrr() ist unkompliziert. Hier ist die Syntax der Funktion:
Die PHP-Syntax der getmxrr()-Funktion
getmxrr($hostname, &$mxhosts, &$weight);Die Funktion übernimmt drei Parameter:
$hostname: Der Domainname, für den Sie die MX-Records abrufen möchten.$mxhosts: Eine Referenz auf ein Array, das die MX-Hosts für den Domainnamen speichert. (Hinweis: Ab PHP 5.3 ist das&-Symbol nur in der Funktionssignatur erforderlich, nicht beim Aufruf der Funktion.)$weight: Eine Referenz auf ein Array, das die Prioritätsgewichte der MX-Hosts speichert.
Hier ist ein Beispiel dafür, wie Sie die Funktion getmxrr() verwenden, um die MX-Records für einen Domainnamen abzurufen:
So verwenden Sie die getmxrr()-Funktion?
<?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";
}In diesem Beispiel rufen wir die MX-Records für den Domainnamen „example.com“ ab. Die Funktion führt eine DNS-Suche durch und füllt die Arrays $mxhosts und $weight. Anschließend durchlaufen wir die Arrays und geben die MX-Hosts sowie deren Gewichte aus. Falls die Suche fehlschlägt, behandelt der else-Block den Fehler ordnungsgemäß.
Fazit
Die Funktion getmxrr() ist ein Legacy-Tool zum Abrufen von MX-Records in älteren PHP-Versionen. Durch das Verständnis ihrer Syntax und ihres Verhaltens können Sie die Kompatibilität mit Legacy-Codebasen aufrechterhalten. Für neue Projekte empfehlen wir stattdessen die Verwendung von dns_get_record() mit dem Typ-Flag DNS_MX. Wir hoffen, dass dieser Artikel hilfreich war, um mit historischen PHP-DNS-Funktionen zu arbeiten.
Practice
Welche Rolle spielt die getmxrr()-Funktion in PHP?