
08.06.2007, 17:52
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
С нами:
11710201
Репутация:
134
|
|
Вот вроде понятно всё написано в rfc2821:
An intermediate host that acts as either an SMTP relay or as a gateway into some other transmission environment is usually selected through the use of the domain name service (DNS) Mail eXchanger mechanism.
Usually, intermediate hosts are determined via the DNS MX record, not by explicit "source" routing (see section 5 and appendices C and F.2).
И вот ещё в wikipedia:
When an e-mail message is sent through the Internet, the sending mail transfer agent makes a DNS query requesting the MX record for the recipient's domain name, which is the portion of the e-mail address following the "@".
|
|
|

08.06.2007, 18:40
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Всем огромное спасибо за помошь.
Итог таков. Нужно просто напросто выполнить Dns запрос к мыловскому серваку.
Как я понял. Обычные запросы идут с параметром Ns, а мне нужно с параметром Mx.
Или я не прав?
Вот тока блин ниде не могу найти нормальный исходник как зделать такой запрос.
Просто есть исходник в журнале "Нахер" за декабрь. Но он блин на диске ихнем 
|
|
|

08.06.2007, 18:58
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
С нами:
11710201
Репутация:
134
|
|
Код:
#include <iostream>
#include <winsock2.h>
#include <windows.h>
#include <windns.h>
#pragma comment (lib, "dnsapi.lib")
#pragma comment (lib, "ws2_32.lib")
int main()
{
PDNS_RECORD ppQueryResultSet;
if (DnsQuery( "mail.ru", DNS_TYPE_MX, DNS_QUERY_STANDARD, NULL, &ppQueryResultSet, NULL)==ERROR_SUCCESS)
MessageBox(0,ppQueryResultSet->Data.MX.pNameExchange,NULL,MB_OK);
return 0;
}
|
|
|

08.06.2007, 23:07
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
2 NetMan Спасибо +
|
|
|

08.06.2007, 23:11
|
|
Заведующий всем
Регистрация: 17.04.2005
Сообщений: 1,062
С нами:
11087066
Репутация:
561
|
|
По идее просто
>nslookup
set type=mx
mail.ru
mail.ru MX preference = 10, mail exchanger = mxs.mail.ru
mxs.mail.ru internet address = 194.67.23.20
А так, в принципе, посланное письмо с рамблера, обрабатывается почтовым сервером рамблера, который смотрит, что оно посылается на mail.ru и ищет mx-record для mail.ru на dns серверах. И находит mxs.mail.ru. Так ты получаешь письмо.
Подробней можешь узнать прочитав про dns и внимательно просмотрев свойства письма в Outlook.
|
|
|

08.06.2007, 23:23
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Меня как раз и ввели в замещательства свойства письма.
т.к. в служебных заголовках вообще левые адреса были.
Ну а так я просто взял качнул модуль WinDNS.pas и через него сделал запросы. Работает на ура
|
|
|

08.06.2007, 23:41
|
|
Заведующий всем
Регистрация: 17.04.2005
Сообщений: 1,062
С нами:
11087066
Репутация:
561
|
|
Наверное да, но у таких крупных сервисов как mail.ru не один почтовый сервер, а больше, и все они имеют разный приоритет. Например 10 - высший, 20 - второй и тд. Если первый сильно занят - письмо обрабатывается вторым.
Что-то не могу додуматься как определить остальные.
|
|
|

29.06.2007, 10:40
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
Сообщение от Azazel
Наверное да, но у таких крупных сервисов как mail.ru не один почтовый сервер, а больше, и все они имеют разный приоритет. Например 10 - высший, 20 - второй и тд. Если первый сильно занят - письмо обрабатывается вторым.
Что-то не могу додуматься как определить остальные.
Мне всегда оно отдает MX-запись mxs.mail.ru
Скорее всего, просто к этому домену привязан не один адрес, а разные сервера.
|
|
|

09.06.2007, 00:10
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Azazel Кстати, я вот попутно находил исходники. Там вообще DNS сервер может возвращать несколько адресов. Вот тока их нужно какимто другим методом считывать все.
|
|
|

28.06.2007, 16:45
|
|
Познающий
Регистрация: 06.06.2007
Сообщений: 83
С нами:
9963383
Репутация:
140
|
|
Хм.. Dns адрес получить не проблема.. а вот к какому порту коннектиться и по какому протаколу передавать?? как вообще сэмулировать, что коннектиться не пользователь, а другой почтовый сервер, например яндекс коннектиться к майл.ру.. для них существует какая-то авторизация или нет?
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|