Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   mx запись (https://forum.antichat.xyz/showthread.php?t=67500)

alamat 16.04.2008 17:47

mx запись
 
Здравствуйте! Необходимо получить mx запись на winsock, google и yandex не помогли :))) там для с++ ток dnsquery.

slesh 17.04.2008 12:10

для дельфы юзай модуль WinDNS - в инете рапросто найти можно.
вот код функции
Код:


function MXResolve(Domain: PChar): string;
var
pQueryResultsSet: PDNS_RECORDA;
Name: PChar;
begin
pQueryResultsSet := nil;
if DnsQuery_A(Domain, DNS_TYPE_MX, DNS_QUERY_STANDARD, nil, @pQueryResultsSet, nil) = 0 then
 begin
  Result:=pQueryResultsSet^.Data.MX.pNameExchange;
  GlobalFree(dword(pQueryResultsSet));
 end;
end;

функции даешь адрес сервера, типа yandex.ru, а она возвращает тебе MX запись. А потом обычный резолвинг чтобы узнать IP

slesh 17.04.2008 12:12

А если хочешь на винсок, то бири в руки Rfc Dns и в соответствии со спецификаций формируй запрос. Создавай сокет Udp и черезе него оправляй данный напрямую Dns серверу

alamat 17.04.2008 22:02

Цитата:

Сообщение от slesh
для дельфы юзай модуль WinDNS - в инете рапросто найти можно.
вот код функции
Код:


function MXResolve(Domain: PChar): string;
var
pQueryResultsSet: PDNS_RECORDA;
Name: PChar;
begin
pQueryResultsSet := nil;
if DnsQuery_A(Domain, DNS_TYPE_MX, DNS_QUERY_STANDARD, nil, @pQueryResultsSet, nil) = 0 then
 begin
  Result:=pQueryResultsSet^.Data.MX.pNameExchange;
  GlobalFree(dword(pQueryResultsSet));
 end;
end;

функции даешь адрес сервера, типа yandex.ru, а она возвращает тебе MX запись. А потом обычный резолвинг чтобы узнать IP

немогли бы Вы выложить windns? ни гугл, ни яндекс не помогли, там один с++

De-visible 17.04.2008 22:17

_http://www.delphifr.com/codes/DNS_29334.aspx
_http://softsearch.ru/programs/16-747-ip-works-mx-download.shtml

alamat 17.04.2008 22:21

Простите, но там надо зарегится :) а язык помойму французкий....

De-visible 17.04.2008 22:27

Что мне теперь за тебя зарегаться?
Переводчики для чего?

Dr.KoD 17.04.2008 23:09

http://www.delphifr.com/codes/DNS_29334.aspx
А зачем тут регаться?
Протопал дальше по ссылке и все вот твое счастье:
http://files.codes-sources.com/fichi...y%5cWinDNS.pas

alamat 17.04.2008 23:25

Функция не работает :(
пишу так:
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.memo1.lines.add(MXResolve('mail.ru'));
end;

Вылетает прога....

slesh 17.04.2008 23:51

возможно нужно сделать сначало WSAStartUp


Время: 11:37