Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Определение существования e-mail адреса


Автор: Therion 10.5.2008, 17:07
Нужно программно определить существование e-mail  адреса. Реализация должна быть кроссплатформенной. 
Единственный пока известный мне способ:
Код

>> dig host.net mx

Выбираем первый из списка и потом на него telnet-ом и проверяем ручками (или программируем). Видел реализации на Perl, но тяжеловато перевести на C. Возможно есть известные opensource библиотеки Вам известные? 
Заранее благодарен за помощь.

Автор: jonie 11.5.2008, 13:30
существование в общем случае никак не определить имхо. разве что послав на него сообщение и получив ответ от сервера.....

Автор: Therion 11.5.2008, 13:57
Читал что в PHP есть функция getmxrr. Нужно такую же только на C.

Добавлено через 10 минут и 28 секунд
Выяснил что в Windows есть функция DnsQuery. Ищу аналог под Unix системы.

Автор: W4FhLF 11.5.2008, 14:08
Цитата(Therion @  11.5.2008,  13:57 Найти цитируемый пост)
Читал что в PHP есть функция getmxrr. Нужно такую же только на C.


PHP open source проект, если что

Автор: Therion 11.5.2008, 14:21
Дело в том что их функция связана с большим количеством других. Будет достаточно трудно перенести половину кода PHP для работы с сетью себе в проект. Нужна легкая реализация и как можно больше привязана к системным API (под винду например DnsQuery отлично подходит).

Автор: ptr 13.5.2008, 17:37
Цитата(Therion @  11.5.2008,  16:57 Найти цитируемый пост)
Читал что в PHP есть функция getmxrr. Нужно такую же только на C.

getmxrr получает только MX записи, он не проверяет e-mail. Как уже было сказано,в общем случае проверить сущесвует ли адрес можно только послав на него письмо. Правда я видел пару POP3 серверов, у которых попробовав авторизоваться можно определить существует адрес или нет.

Автор: Therion 16.5.2008, 10:35
Мне и нужно было получить только записи, а проверку я делаю уже вручную. Проблему решил. Под Win получаю с помощью DnsQuery_W, а под MacOS использую следующий код http://lists.freebsd.org/pipermail/freebsd-security/2004-May/002027.html.
Спасибо всем smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)