c# – 如何获得mx记录的dns名称与System.Net.DNS?

.NET库中是否有任何内置方法将返回给定域的所有MX记录?我看到你如何获得CNAMES,但不是MX记录。
亚历山大Reinert的ARSoft.Tools.Net图书馆似乎做得很好。

它可从NuGet:

PM> Install-Package ARSoft.Tools.Net

导入命名空间:

using ARSoft.Tools.Net.Dns;

然后进行同步查找是很简单的:

var response = DnsClient.Default.Resolve("gmail.com", RecordType.Mx);
var records = response.AnswerRecords.OfType<MxRecord>();
foreach (var record in records) {
    Console.WriteLine(record.ExchangeDomainName);
}

这给了我们的输出:

alt3.gmail-smtp-in.l.google.com
alt4.gmail-smtp-in.l.google.com
gmail-smtp-in.l.google.com
alt1.gmail-smtp-in.l.google.com
alt2.gmail-smtp-in.l.google.com

在引擎盖下,它看起来像库构造发送到解析器所需的UDP(或TCP)数据包,就像你可能期望的。库甚至具有逻辑(使用DnsClient.Default调用)以发现要查询的DNS服务器。

完整的文档可以找到here

http://stackoverflow.com/questions/2669841/how-to-get-mx-records-for-a-dns-name-with-system-net-dns

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何获得mx记录的dns名称与System.Net.DNS?