MX-Eintrag Abfrage schlägt fehl
Frage
Ich bin ein Code Kerl geschaffen, so dass, wenn ich mit nicht verwalteten Code Interop, und es funktioniert nicht wie in der Werbung, ich nervös zu bekommen. Kann mir jemand erklären, warum dies wieder ohne MX-Datensätze kommen würde, wenn eine Befehlszeile nslookup
funktioniert?
[DllImport("dnsapi", EntryPoint = "DnsQuery_W", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
private static extern int DnsQuery([MarshalAs(UnmanagedType.VBByRefStr)]ref string pszName, QueryTypes wType, QueryOptions options, int aipServers, ref IntPtr ppQueryResults, int pReserved);
string domain = "HomeTechnologySolutions.com";
int num1 = DnsQuery(ref domain, QueryTypes.DNS_TYPE_MX, QueryOptions.DNS_QUERY_BYPASS_CACHE, 0, ref ptr1, 0);
if (num1 != 0)
{
throw new Win32Exception(num1)
}
Der Fehlercode, der zurückkommt, bedeutet „Keine Datensätze für bestimmte DNS-Abfrage gefunden“
Der Kick in der Hose ist, dass dies die erste Domäne, die ich gefunden haben, die diesen Test nicht, aber ich sagte es „OFT“ geschieht. (Niemand kann für mich definiert oft noch nicht, aber ich bin auf dem)
Wie auch immer, wenn ich einen nslookup über die Eingabeaufforderung ausführen, bekomme ich zurück:
> set type=mx
> hometechnologysolutions.com
Server: dhcp.removedtoprotectedtheguilty.com
Address: 10.0.0.9
hometechnologysolutions.com
primary name server = ns1.streetsimple.com
responsible mail addr = hostmaster.streetsimple.com
serial = 11
refresh = 900 (15 mins)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 3600 (1 hour)
Lösung
Ich erhalte keine MX
Datensätze für diesen Domain-Namen zurückgegeben, wenn ‚dig‘ von hier entweder mit.
Die ‚nslookup‘ Ergebnisse, die man dort zitiert sind aus der SOA
Datensatz der Domäne und beinhalten keine MX
Aufzeichnungen. Der SOA
Datensatz wird in der „Autorität“ der DNS-Antwort zurückgegeben, auch wenn es für die spezielle Frage keine Datensätze ist Sie gefragt.
In Abwesenheit von MX
Aufzeichnungen, E-Mail Transfer Agents (MTAs) wird den A
Rekord für den Host als MX
Datensatz mit Priorität 0 und versuchen behandeln, anstatt eine SMTP-Verbindung zu dieser Adresse zu machen.
Siehe Abschnitt 5.1 von RFC 5321 . Beachten Sie, dass, obwohl dies eine sehr neue RFC ist, dieses Verhalten auch in früheren Versionen der SMTP-Spezifikation existiert hat.