Aktueller Standort: Startseite> Neueste Artikel> Wie überprüfe ich den MX -Datensatz eines Domänennamens über die Funktion checkDnsrr?

Wie überprüfe ich den MX -Datensatz eines Domänennamens über die Funktion checkDnsrr?

gitbox 2025-09-29

In PHP ist die CheckDNSRR -Funktion ein sehr nützliches Tool, mit dem DNS -Datensätze auf Domainnamen überprüft werden können. Obwohl es häufig zum Erkennen von Domänennamen A -Datensätzen, CNAME -Datensätzen usw. verwendet wird, kann es auch zur Überprüfung von E -Mail -Exchange (MX) -Ertraten verwendet werden, wodurch wir feststellen, ob ein Domänenname einen Mailserver konfiguriert hat. In diesem Artikel werden Sie Schritt für Schritt durchgeführt, um zu sehen, wie die Funktion CheckDNSRR verwendet wird, um die MX -Datensätze des Domänennamens zu überprüfen.

1. Überblick über die Funktion CheckDNSRR

CheckDNSRR ist eine Funktion, die überprüft, ob ein angegebener Domänenname einen DNS -Datensatz des angegebenen Typs hat. Die Funktionssignatur ist wie folgt:

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">checkdnsrr</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">string</span></span><span> </span><span><span class="hljs-variable">$type</span></span><span> = </span><span><span class="hljs-string">"any"</span></span><span> )
</span></span>
  • $ hostname : Der zu überprüfenswerte Domain -Name (kann ein vollständiger Domain -Name sein, wie z. B. Beispiel.com ).

  • $ type : Der Typ des DNS -Datensatzes, der überprüft werden soll, ist "Any" , dh alle Datensätze. Wenn Sie nur einen bestimmten Datensatztyp (z. B. MX -Datensatz, einen Datensatz usw.) überprüfen müssen, können Sie diese als "MX" angeben.

2. Überprüfen Sie die MX -Datensätze mithilfe von CheckDNSRR

Um zu überprüfen, ob ein Domänenname einen Mailserver konfiguriert hat, können Sie die Funktion checkDNSRR verwenden und $ type auf "MX" festlegen. Hier ist ein Beispiel:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">checkdnsrr</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>, </span><span><span class="hljs-string">"MX"</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Domain -Name <span class="hljs-subst">$domain</span></span></span><span> Konfiguriert MX Aufzeichnen,Normalerweise bedeutet es einen Mailserver。";
} </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">"Domain -Name <span class="hljs-subst">$domain</span></span></span><span> Nicht konfiguriert MX Aufzeichnen,Möglicherweise gibt es keinen Mailserver。";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Im obigen Code geben wir zunächst den Domänennamen Beispiel.com an, um es zu überprüfen. Verwenden Sie dann die CheckDNSRR -Funktion, um festzustellen, ob ein MX -Datensatz vorliegt. Wenn der Rückgabewert stimmt , bedeutet dies, dass der Domänenname MX -Datensätze konfiguriert hat und möglicherweise ein Mailserver besteht. Wenn dies falsch ist , bedeutet dies, dass der Domänenname keine MX -Datensätze konfiguriert hat.

3. Analysieren Sie MX -Datensätze

Die Funktion checkDNSRR kann nur bestimmen, ob der Domänenname MX -Datensätze konfiguriert ist, gibt jedoch den spezifischen MX -Datensatzinhalt nicht zurück. Wenn Sie detailliertere MX -Datensätze wie den Hostnamen oder die Priorität des Mailservers erhalten müssen, können Sie die Funktion dns_get_record in Verbindung mit der Funktion DNS_get_Record verwenden. Diese Funktion kann alle DNS -Datensätze des angegebenen Typs zurückgeben, einschließlich Details der MX -Datensätze.

Hier ist ein Beispiel, das zeigt, wie MX -Datensätze über DNS_get_Record erhalten und angezeigt werden:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;

</span><span><span class="hljs-comment">// Erhalten MX Aufzeichnen</span></span><span>
</span><span><span class="hljs-variable">$records</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dns_get_record</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>, DNS_MX);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$records</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Domain -Name <span class="hljs-subst">$domain</span></span></span><span> von MX Aufzeichnen如下:&lt;br&gt;";
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$records</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$record</span></span><span>) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Priorität: "</span></span><span> . </span><span><span class="hljs-variable">$record</span></span><span>[</span><span><span class="hljs-string">'pri'</span></span><span>] . </span><span><span class="hljs-string">" - Mailserver: "</span></span><span> . </span><span><span class="hljs-variable">$record</span></span><span>[</span><span><span class="hljs-string">'target'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</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">"Domain -Name <span class="hljs-subst">$domain</span></span></span><span> Nicht gefunden MX Aufzeichnen。";
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Beispiel verwenden wir DNS_Get_Record , um den MX -Datensatz des angegebenen Domänennamens zu erhalten. Das zurückgegebene Ergebnis ist ein Array, jedes Element, das die Priorität ( PRI ) des MX -Datensatzes und die Adresse des Ziel -Mail -Servers ( Ziel ) enthält.

4. Zusammenfassung

Über die Funktion checkDNSRR können wir schnell feststellen, ob ein Domänenname MX -Datensätze konfiguriert ist, und dann spekulieren, ob der Domänenname einen E -Mail -Service hat. Wenn jedoch detailliertere Informationen zur MX -Aufzeichnung erforderlich sind, können Sie die Funktion dns_get_record in Verbindung damit verwenden. Diese Kombination kann uns helfen, E-Mail-bezogene DNS-Konfigurationen besser zu beheben und zu verwalten.

Das obige ist die Verwendung von PHPs CheckDNSRR -Funktion, um die MX -Datensätze des Domain -Namens zu überprüfen, in der Hoffnung, dass es Ihnen helfen kann.