Pergunta

Eu sou um cara de código gerenciado, então quando eu interoperabilidade com código não gerenciado, e ele não funciona como anunciado, eu fico inquieto. Alguém pode explicar-me por que isso iria voltar com nenhum registro MX, quando uma linha de comando nslookup obras?

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

O código de erro que vem meios de volta "Nenhum registro encontrado para determinada consulta DNS"

O pontapé nas calças é que este é o primeiro domínio Descobri que falha neste teste, mas me disseram que isso acontece "muitas vezes". (Ninguém pode definir muitas vezes para mim, mas eu estou trabalhando nisso)

De qualquer forma, quando eu executar uma nslookup através do prompt de comando, eu voltar:

> 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)
Foi útil?

Solução

Eu não obter quaisquer registros MX devolvidos para esse nome de domínio particular quando se usa 'Dig' a ??partir daqui também.

Os resultados 'nslookup' que você está citando não são de registro SOA do domínio e não incluem quaisquer registros MX. O registro SOA é devolvido na seção "autoridade" da resposta DNS, mesmo se não há nenhum registro para a questão específica que você pediu.

Na ausência de registros MX, agentes de transferência de correio (MTA) irá tratar o registro A para o anfitrião como um registro MX com prioridade 0 e tentar fazer uma conexão SMTP para esse endereço em seu lugar.

Veja a seção 5.1 do RFC 5321 . Note que, embora este é um RFC muito recente, este comportamento também existia em versões anteriores da especificação SMTP.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top