使用C#查找MX记录?

问题描述:

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

您可以使用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如果你不想改写一切,将完成整个工作。寻找GetMxRecords静态方法。

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

此链接可能帮助:

Determining MXRecord of mail server

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

Generic Handler to find MX Records

The NMail project包含下躯干/ NMail.DnsClient DNS客户端。该项目可在Apache许可下获得。