使用C#查找MX记录?

问题描述 投票:6回答:6

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

c# smtp mx-record
6个回答
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静态方法。



3
投票

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


2
投票

此链接可能有所帮助:

Determining MXRecord of mail server


0
投票

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

Generic Handler to find MX Records


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.