
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.171] |
![]() |
|
Сообщ.
#1
,
|
|
|
САБЖ.
Интересует, что происходит с письмом после того, как его на SMTP сервер заслали. |
Сообщ.
#2
,
|
|
|
В VMS'е по крайней мере (mail) письмо скидывается в общий пул, а там когда ты ломиться начинаешь к тебе в директорию копируется...
|
Сообщ.
#3
,
|
|
|
А если не VMS? Я VMS уже года полтора не пользовал ;D
|
Сообщ.
#4
,
|
|
|
Тады ой. Думаю где как (в смысле конкретные реализации под разные системы могут по разному сохранять письмо: в отдельный файл/в пул и соответствено в userdir/еще куда-то). Смотреть надо отдельно...
|
Сообщ.
#5
,
|
|
|
Уточню вопрос. Есть 2 почтовых сервера, они сидят в одной сетке. У каждого сервера есть 1 абонент (т. е. всего 2 абонента). Первый абонент посылает второму письмо через свой сервер. Откуда сервер первого юзера знает, куда кидать дальше?
|
Сообщ.
#6
,
|
|
|
Дык оттуда же откуда твоя машина видит сетевое окружение.
|
![]() |
Сообщ.
#7
,
|
|
Цитата andyag, 05.08.02, 20:13:55 Откуда сервер первого юзера знает, куда кидать дальше? Сервер ломится на ДНС-сервак и вычисляет айпишник того, что в адресе идёт после лягушки. Вычислив айпишник, он пытается установить соединение на 25-ом порту. Если соединение установлино, то дальше вступает в действие протокол SMTP (http://www.sources.ru/protocols/smtp_learning.shtml) |
Сообщ.
#8
,
|
|
|
т. е. если e-mail правильный, то домен, который после кракозяблы, всегда соответствует какой-то машине с smtp?
|
Сообщ.
#9
,
|
|
|
О! А можно вместо домена писать ip?
|
Сообщ.
#10
,
|
|
|
Цитата andyag, 06.08.02, 15:11:42 О! А можно вместо домена писать ip? А почему бы нет? |
Сообщ.
#11
,
|
|
|
Цитата Song, 06.08.02, 15:54:36 А почему бы нет? ![]() Потому, что многие мыльницы, например QMail, позволяют подключать почтовых роботов для разбора входящей/проходящей почты, например ProcMail, для реализации альтернативных маршрутов писем на основании результатов анализа почтового адреса. Регулируется это правилами. Но мало кто (а может и никто??? ) для реализации одного альтернативного маршрута использует два правила - для адреса с "нормальным" доменным именем и с именем, содержащим ИП-адрес. И момент №2 - любой "переезд" к новому провайдеру в большинстве случаев почтовый адрес, содержащий IP, сделает "недействительным". ИМХО: формально использовать можно, но лучше "низя" ![]() |
Сообщ.
#12
,
|
|
|
Люди, прокомментируйте такую фишку:
![]() ![]() Microsoft Windows 2000 [Version 5.00.2195]<br>(C) Copyright 1985-2000 Microsoft Corp.<br><br>C:\>telnet yandex.ru 25<br>Connecting To yandex.ru...Could not open a connection to host on port 25 : Connect failed<br><br>C:\> А ведь у меня есть e-mail andyag@yandex.ru |
Сообщ.
#13
,
|
|
|
Может потому что телнет то 23 порт пользует а не 25-й
|
Сообщ.
#14
,
|
|
|
Цитата d_k, 06.08.02, 22:58:55 Telnet, как протокол - да, но как прога - любой :-) Может потому что телнет то 23 порт пользует а не 25-й |
Сообщ.
#15
,
|
|
|
Цитата andyag, 06.08.02, 20:51:56 Люди, прокомментируйте такую фишку: ![]() ![]() Microsoft Windows 2000 [Version 5.00.2195]<br>(C) Copyright 1985-2000 Microsoft Corp.<br><br>C:\>telnet yandex.ru 25<br>Connecting To yandex.ru...Could not open a connection to host on port 25 : Connect failed<br><br>C:\> А ведь у меня есть e-mail andyag@yandex.ru Коментирую фишку: ;D ты пытаешься на сервере yandex.ru открыть 25 порт и в телнете "пообщаться" с SMTP-серваком. Ты уверен что именно на yandex.ru этот сервак установлен. 1) Смотрим IP этого сервака (ping резольвит для нас yandex.ru в 213.180.194.129) 2) "Спрашиваем" DNS-сервер про почтовые записи (MX - Mail Exchange), на что он отвечает: ![]() ![]() <br>Query:Mail Exchange (MX):yandex.ru<br>yandex.ru MX 10 mx2.yandex.ru<br>yandex.ru MX 0 mx1.yandex.ru<br>yandex.ru NS ns1.yandex.ru<br>yandex.ru NS ns.ispm.ru<br>mx2.yandex.ru A 213.180.193.14<br>mx2.yandex.ru A 213.180.193.106<br>mx1.yandex.ru A 213.180.193.14<br>mx1.yandex.ru A 213.180.193.106<br>ns1.yandex.ru A 213.180.193.1<br>ns.ispm.ru A 195.19.27.2<br>Complete: yandex.ru<br> 3) Смотрим, где же есть почтовые сервера этого домена. Ба! Да вот же они: mx1.yandex.ru mx2.yandex.ru 4) На всякий случай "уточним" их IP-адреса с помощью того же ping'а: mx1.yandex.ru - 213.180.193.14 mx2.yandex.ru - 213.180.193.14 Вывод: почтовые сервера расположены по адресу 213.180.193.14 и возможно еще тут - 213.180.193.106. Ты же пытался ломануться на 213.180.194.129, что не есть правильно! ![]() P.S. Не надо искать черного добермана на темной охраняемой стоянке, особенно если он там есть. ;D |
Сообщ.
#16
,
|
|
|
Да, кстати, чтобы убедиться что все это именно так, проверяем:
telnet mx1.yandex.ru 25 получаем: ![]() ![]() <br>220 Yandex ESMTP (NO UCE)(NO UBE) server ready at Wed, 7 Aug 2002 17:03:44 +0400<br> что и следовало доказать. ![]() |
Сообщ.
#17
,
|
|
|
Ага! Значит мне раньше неправильно сказали! ;D
2 JoeUser: греат сенкс, меня этот вопрос давно мучал. А чем ты делал запрос у DNS про этот MX? |
Сообщ.
#18
,
|
|
|
Цитата andyag, 07.08.02, 18:42:16 Ага! Значит мне раньше неправильно сказали! ;D Ну да, чутка неправильно. Фаза поиска почтовых серверов немного не указана ![]() Цитата 2 JoeUser: греат сенкс, меня этот вопрос давно мучал. А чем ты делал запрос у DNS про этот MX? Расти большой ![]() А запрос к DNS делал nslookup'ом, но не стандартным, а каким-то другим (GUI). Он у меня уже триста лет есть, я и не помню где его брал, а он "про себя ничего не говорит". |
Сообщ.
#19
,
|
|
|
А вообще, эти MX, они в любом DNS есть?
|
Сообщ.
#20
,
|
|
|
Кстати и обычным nslookup'ом не сложнее. Перед вводом yandex.ru надо выполнить set type=MX и все.
|
Сообщ.
#21
,
|
|
|
Цитата andyag, 07.08.02, 19:05:58 А вообще, эти MX, они в любом DNS есть? Они в DNS могут быть, а могут и не быть (в случае отсутствия почтовых серверов в домене). Но, если админ желает чтобы его SMTP-сервак был работоспособным, он просто обязан зарегистрировать его в DNS (читай внести MX запись). Для полного понимания рекомендую прочесть какой-нить мануал по DNS. |
Сообщ.
#22
,
|
|
|
т. е. в этот nslookup нужно подставлять уже сам домен e-mail'а?
![]() ![]() C:\>nslookup<br>Default Server: serv1.vsi.ru<br>Address: 80.82.32.9<br><br>> set type=mx<br>> yandex.ru<br>Server: serv1.vsi.ru<br>Address: 80.82.32.9<br><br>Non-authoritative answer:<br>yandex.ru MX preference = 10, mail exchanger = mx2.yandex.ru<br>yandex.ru MX preference = 0, mail exchanger = mx1.yandex.ru<br><br>yandex.ru nameserver = ns1.yandex.ru<br>yandex.ru nameserver = ns.ispm.ru<br>mx2.yandex.ru internet address = 213.180.193.106<br>mx2.yandex.ru internet address = 213.180.193.14<br>mx1.yandex.ru internet address = 213.180.193.106<br>mx1.yandex.ru internet address = 213.180.193.14<br>ns1.yandex.ru internet address = 213.180.193.1<br>ns.ispm.ru internet address = 195.19.27.2<br>> |
Сообщ.
#23
,
|
|
|
Цитата JoeUser, 07.08.02, 19:18:14 Значит, впринципе, можно засылать письмо сразу на сервер абонента, минуя свой почтовый сервер?Они в DNS могут быть, а могут и не быть (в случае отсутствия почтовых серверов в домене). Но, если админ желает чтобы его SMTP-сервак был работоспособным, он просто обязан зарегистрировать его в DNS (читай внести MX запись). Для полного понимания рекомендую прочесть какой-нить мануал по DNS. |
Сообщ.
#24
,
|
|
|
Цитата andyag, 07.08.02, 19:23:35 Значит, впринципе, можно засылать письмо сразу на сервер абонента, минуя свой почтовый сервер? Конечно. Только есть одно "но". Почти все грамотные SMTP-серваки резольвят домен отправителя (команда MAIL FROM) и если такового в DNS нет, то пробрасывают. Есть и еще различные фишки. Это все борьба со спамерами. |
Сообщ.
#25
,
|
|
|
Гы. Сколько раз слал с billgates@microsoft.com - всегда работала ;D
|
Сообщ.
#26
,
|
|
|
...через SMTP-релей (читай "через провайдера") отправлять лучше, дешевле будет. Представь что в твоем письме 123 адресата. Тогда, если захочешь через MX - надо будет отправлять 123 раза. Если же через релей, то 1 раз.
|
Сообщ.
#27
,
|
|
|
Цитата andyag, 07.08.02, 19:35:17 Гы. Сколько раз слал с billgates@microsoft.com - всегда работала ;D Для админов - это удар ниже пэйджера. ;D |
Сообщ.
#28
,
|
|
|
Прочитай мыло
![]() |
Сообщ.
#29
,
|
|
|
Цитата andyag, 07.08.02, 19:43:36 Прочитай мыло ![]() так я ж и не спорю ![]() Цитата retr 1 +OK 200 octets follow. Return-Path: <billgates@microsoft.com> Delivered-To: melnikov@softhome.net Received: (qmail 23382 invoked by uid 417); 7 Aug 2002 15:42:25 -0000 Received: from nasx-d179.dial.vsi.ru (HELO ) (80.82.38.179) by 192.168.0.30 with SMTP; 7 Aug 2002 15:42:25 -0000 hello there ![]() . |
Сообщ.
#30
,
|
|
|
Цитата JoeUser, 07.08.02, 19:50:51 ;Dтак я ж и не спорю ![]() А ты не знаешь, случайно, как в w2k, в телнете включить эхо? |
Сообщ.
#31
,
|
|
|
Уже нашел: set LOCAL_ECHO
|
Сообщ.
#32
,
|
|
|
Цитата andyag, 07.08.02, 19:54:20 ;D А ты не знаешь, случайно, как в w2k, в телнете включить эхо? Знаю. ![]() Берешь telnet.exe от MD'98 включаешь эхо и юзаешь. |
Сообщ.
#33
,
|
|
|
Цитата JoeUser, 07.08.02, 19:58:26 Не, меня консоль больше прикалывает. Только, вот, как покрасить буквы в зеленый цвет? ;D ;D ;DЗнаю. ![]() Берешь telnet.exe от MD'98 включаешь эхо и юзаешь. |
Сообщ.
#34
,
|
|
|
Цитата andyag, 07.08.02, 20:15:50 Не, меня консоль больше прикалывает. Только, вот, как покрасить буквы в зеленый цвет? ;D ;D ;D Run->Telnet->Свойства->Цвета (Малиновый по зеленому)->Ok ;D |
Сообщ.
#35
,
|
|
|
![]() ![]() Microsoft Telnet> help<br><br>Commands may be abbreviated. Supported commands are:<br><br>close close current connection<br>display display operating parameters<br>open connect to a site<br>quit exit telnet<br>set set options (type 'set ?' for a list)<br>status print status information<br>unset unset options (type 'unset ?' for a list)<br>?/help print help information<br>Microsoft Telnet> Где? |
Сообщ.
#36
,
|
|
|
Свойства консольного окна ;)
|
Сообщ.
#37
,
|
|
|
Цитата JoeUser, 08.08.02, 14:35:21 Гм. Торможу я... :-/Свойства консольного окна ![]() |
Сообщ.
#38
,
|
|
|
Цитата andyag, 08.08.02, 14:46:40 Гм. Торможу я... :-/ Значит тебе зеленые буквы в терминале еще рано делать ;D |
Сообщ.
#39
,
|
|
|
Цитата JoeUser, 08.08.02, 14:52:51 Поздно, скорее :-)Значит тебе зеленые буквы в терминале еще рано делать ;D |
Сообщ.
#40
,
|
|
|
2JoeUser
НАсчет MX записей в DNS это что же выходит, надо узнавать какие IP используются для mail для того, тчобы отослать почту на тот же yandex.ru? а как это программно будет выглядеть? можно ли как-то программно узнать тот же мэйловый IP? |
Сообщ.
#41
,
|
|
|
Цитата Demo_S, 19.08.02, 21:39:33 2JoeUser НАсчет MX записей в DNS это что же выходит, надо узнавать какие IP используются для mail для того, тчобы отослать почту на тот же yandex.ru? Ну это самый "неудобный" способ. Лучше всего если твой провайдер откроет для тебя SMTP-релей. Тогда никаких DNS, передал письмо на провайдера, а дальше его "головная боль" - DNSы напрягать, почтовики искать... Цитата Программно не знаю, не делал таких прог. Но порядок примерно таков:а как это программно будет выглядеть? можно ли как-то программно узнать тот же мэйловый IP? - определяешь DNS, используемый системой - делаешь запрос на MX записи домена - если DNS недоступен, "смотришь" следующий DNS (в системе их может быть не один а несколько) - если ответ от DNS нормальный, резольвишь первичный почтовый сервер и пытаешься передать почту - если не получается (сервер недоступен, сервер не принял почту) пробуешь следующий (обычно в домене их более одного - первичный и резервные) Как это делается программно - не делал, поэтому сейчас не знаю. Для написания очень рекомендую почитать соответствующие RFC. Линков не дам, т.к. "навскидку" не помню. |