Найти запись MX с помощью C #? - PullRequest
6 голосов
/ 26 ноября 2010

Как найти запись MX для почтового сервера в C #?

Ответы [ 6 ]

5 голосов
/ 26 ноября 2010

Вы можете использовать ответы Роберт и RPK , чтобы получить запись 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);
}

Существует полное решение (или на github здесь ), который сделает всю работу, если вы не хотите все переписывать.Ищите GetMxRecords статический метод.

3 голосов
/ 26 ноября 2010

Взгляните на этот проект распознавателя DNS на codeproject.com . В библиотеке есть класс Resolver, который содержит метод Query, который можно использовать для перехода к записи MX.

3 голосов
/ 26 ноября 2010

надеюсь, это поможет http://www.eggheadcafe.com/articles/20050129.asp

2 голосов
/ 26 ноября 2010

Эта ссылка может помочь:

Определение MXRecord почтового сервера

0 голосов
/ 06 ноября 2013

Проект NMail содержит DNS-клиента в транке / NMail.DnsClient.Проект доступен по лицензии Apache.

0 голосов
/ 25 сентября 2011

Я только что написал простой универсальный обработчик asp.net для поиска записей mx, которые можно использовать для кодирования приложения Windows.

Общий обработчик для поиска записей MX

...