Zum Inhalt springen

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

php
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
<?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?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.