MX Record Query терпит неудачу - PullRequest
       10

MX Record Query терпит неудачу

0 голосов
/ 07 января 2009

Я парень с управляемым кодом, поэтому, когда я взаимодействую с неуправляемым кодом, и он не работает, как рекламируется, я начинаю нервничать. Может кто-нибудь объяснить мне, почему это вернулось бы без записей MX, когда командная строка nslookup работает?

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

Возвращаемый код ошибки означает «Не найдено записей для данного DNS-запроса»

Пинок в штанах в том, что это первый домен, который я обнаружил, который не проходит этот тест, но мне говорят, что это происходит "ЧАСТО". (пока никто не может определить для меня часто, но я над этим работаю)

В любом случае, когда я выполняю nslookup через командную строку, я получаю обратно:

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

1 Ответ

3 голосов
/ 07 января 2009

Я не получаю никаких записей MX для этого конкретного доменного имени при использовании 'dig' отсюда.

Результаты 'nslookup', которые вы цитируете, взяты из записи SOA домена и не содержат записей MX. Запись SOA возвращается в разделе «полномочия» ответа DNS, даже если для конкретного заданного вами вопроса нет записей.

При отсутствии записей MX агенты передачи почты (MTA) будут обрабатывать запись A для хоста как запись MX с приоритетом 0 и вместо этого будут пытаться установить SMTP-соединение с этим адресом.

См. Раздел 5.1 из RFC 5321 . Обратите внимание, что хотя это совсем недавно RFC, такое поведение также существовало в предыдущих версиях спецификации SMTP.

...