使用C#查找MX记录?

时间:2010-11-26 06:53:28

标签: c# smtp mx-record

如何在C#中找到邮件服务器的MX记录?

6 个答案:

答案 0 :(得分:5)

您可以使用RobertRPK的答案来获取给定域的MX记录。

但是你需要一台DNS服务器来完成这项工作。如果要检测执行代码的计算机的DNS服务器,可以使用以下命令。

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
    IPInterfaceProperties properties = adapter.GetIPProperties();

    if (properties.DnsAddresses.Count > 0)
        foreach (IPAddress ipAddress in properties.DnsAddresses)
             dnsServers.Add(ipAddress.ToString(), 53);
}

如果您不想重写所有内容,则会有complete solution(或在github here)完成整个工作。寻找GetMxRecords静态方法。

答案 1 :(得分:3)

答案 2 :(得分:3)

看看这个DNS resolver project on codeproject.com。该库有一个Resolver类,其中包含一个名为Query的方法,可用于追踪MX记录。

答案 3 :(得分:2)

此链接可能有所帮助:

Determining MXRecord of mail server

答案 4 :(得分:0)

我刚刚编写了一个简单的asp.net通用处理程序来完成查找可用于编写Windows应用程序的mx记录的工作。

Generic Handler to find MX Records

答案 5 :(得分:0)

The NMail project在trunk / NMail.DnsClient下包含DNS客户端。该项目在Apache许可下可用。