Registo MX consulta falha
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)
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.