Question

Je suis un gars du code géré, donc lorsque j'interopère avec du code non géré, et que cela ne fonctionne pas comme annoncé, je me sens nerveux. Quelqu'un peut-il m'expliquer pourquoi cela reviendrait sans enregistrement MX, lorsqu'une ligne de commande nslookup fonctionne?

[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)
}

Le code d'erreur renvoyé signifie "Aucun enregistrement trouvé pour une requête DNS donnée"

.

Le coup de pouce, c’est que c’est le premier domaine que j’ai découvert qui échoue à ce test, mais on me dit que cela se produit "OFTEN". (personne ne peut encore définir souvent pour moi, mais je travaille dessus)

Quoi qu’il en soit, lorsque je lance nslookup via l’invite de commande, je reviens:

> 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)
Était-ce utile?

La solution

Je ne reçois aucun enregistrement MX pour ce nom de domaine particulier lorsque vous utilisez "dig" à partir d'ici.

Les résultats 'nslookup' que vous citez sont tirés de l'enregistrement SOA du domaine et n'incluent aucun enregistrement MX . L’enregistrement SOA est renvoyé dans l’enregistrement "autorité". section de la réponse DNS, même s’il n’ya pas d’enregistrement pour la question spécifique que vous avez posée.

En l'absence d'enregistrements MX , les agents de transfert de courrier (MTA) traiteront l'enregistrement A de l'hôte comme un enregistrement MX avec priorité 0 et essayez d'établir une connexion SMTP avec cette adresse à la place.

Voir la section 5.1 de la RFC 5321 . Notez que bien qu’il s’agisse d’une RFC très récente, ce problème existait également dans les versions précédentes de la spécification SMTP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top