How can I find the MX record for a mail server in C#?
问题:
回答1:
You can use the answer of Robert and RPK to get the MX record of a given domain.
But you'll need a DNS server to do the job. If you want to detect the DNS server of the machine where your code is executed, you can use the following.
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);
}
There is a complete solution that will do the whole job if you don't want to rewrite everything. Look for GetMxRecords
static method.
回答2:
hope this helps http://www.eggheadcafe.com/articles/20050129.asp
回答3:
Take a look at this DNS resolver project on codeproject.com. The library has a Resolver class that contains a method named Query which can be used to go after the MX record.
回答4:
This link might help:
Determining MXRecord of mail server
回答5:
I just wrote a simple asp.net generic handler to do the job of finding the mx records which you can use to code an Windows App.
Generic Handler to find MX Records
回答6:
The NMail project contains a DNS client under trunk/NMail.DnsClient. The project is available under the Apache license.