문제

저는 관리되는 코드 가이기 때문에 관리되지 않는 코드와 상호 로프를 할 때 광고대로 작동하지 않으면 Twitchy가됩니다. 명령 줄이있을 때 누군가 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)
도움이 되었습니까?

해결책

나는 아무것도 얻지 못한다 MX 여기에서 'Dig'를 사용할 때 해당 도메인 이름에 대한 레코드가 반환되었습니다.

당신이 인용 한 'nslookup'결과는 도메인의 SOA 기록하고 포함하지 마십시오 MX 기록. 그만큼 SOA 묻는 특정 질문에 대한 기록이 없더라도 DNS 응답의 "권한"섹션에 기록이 반환됩니다.

없을 때 MX 레코드, 메일 송금 에이전트 (MTA)는 A 호스트에 대한 기록 MX 우선 순위 0으로 기록하고 대신 해당 주소에 SMTP를 연결하려고 시도하십시오.

5.1 절을 참조하십시오 RFC 5321. 이것은 매우 최근의 RFC이지만,이 동작은 이전 버전의 SMTP 사양에도 존재했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top