C# - алгоритм верификации email

Александр16 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
13.11.2012

Полная проверка адресов выполняется путем соединения с почтовым сервером,

адрес которого указан в MX записи, которую возвращает DNS сервер путем запросов у этого домена, или напрямую у DNS сервера, в том случае если не была найдена MX запись.

После соединения с сервером программа пробует посылать почту проверяемому адресу.

Если сервер отвечает на запрос соединения с этим ящиком, электронный адрес помечается как — «Ящик существует» ,

в обратном случае — как — «Ящик не существует».

Пример лога работы алгоритма в одном из существующих продуктов я привел в файле check log.txt

Для примера код, реализованный мною на базе DLL от Chilkatsoft http://www.chilkatsoft.com/download/ChilkatDotNet4-9.3.2-win32.msi . Код реализован в приложенном файле algorithm-with-chilkat.txt

///

/// Проверка email на существование

///

/// email для проверки

///

public bool emailExists(string email)

Теперь поясню почему не работает. В данном случае второй вызов receivedMsg = socket.ReceiveString(); возвращает NULL. Почему то проблематично делать подряд 2 цикла SendString-ReceiveString (даже если 2 раза HELO послать).

=================

Собственно задача. Реализовать на C# функцию следующего прототипа c учетом вышеописанного алгоритма. Проверять работу будем аналогично на 2 emailах (существующем [email protected] и несуществующем [email protected]). Желательно реализовать на базе библиотеки socket от chilkat

///

/// Проверка email на сущестование

///

/// email для проверки

///

public bool emailExists(string email)

{

try

{

return true;

}

catch (Exception exp)

{

lastError = exp.Message;

return false;

}

}

Оплата 15$, после проверки (можно по скайп с расшариванием экрана).