реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Выход в интернет встроенного SMTP клиента
berkl
сообщение May 4 2012, 06:06
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Добрый день,

У меня собран девайс на ПИКе, добавил в него поддержку SMTP клиента для отсылкы всяких тревожных соообщений по электронной почте.
Скачал халявный SMTP сервер для теста, поставил его себе комп. Всё проверил, всё работает.

Теперь хочу попробовать послать письмо с девайса на почтовый сервер в интернете, на mail.ru например, или gmail.com...

Какие пути-решения могут быть для этого, что требуется со стороны моего девайса и/или компа, через который осуществляется доступ в интернет?

Девайс может быть поключен к компу либо к той же сетевой карте, на которую подключен интернет, через свитч, либо девайс подключается ко второй сетевой карте компа.

Заранее благодарен,
Дмитрий
Go to the top of the page
 
+Quote Post
Cosmojam
сообщение May 4 2012, 08:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Во-первых нужен путь до сервера, т.е. маршрут. Если выходите через роутер, то на девайсе должен быть указан шлюз. Если в компе 2 сетевухи: одна в локалку с роутером в инет, другая в девайс, то на компе нужно маршрутизацию настроить и указывать шлюзом IP сетевухи, либо мост между обеими сетевухами и указывать шлюз вашей сети.
Во-вторых некоторые сервера требуют SSL и аутенификацию с шифрованным паролем. Это всё есть в вашем сетевом стеке? mail.ru не требует ничего, можно хоть netcat-ом подключиться и письмо написать. gmail кажется нельзя без SSL, поправьте если не прав, самому в ближайшее время предстоит с этим столкнуться.


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
berkl
сообщение May 5 2012, 04:30
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Рассмотрим по порядку, сначала случай с одной сетевухой.

Цитата
Если выходите через роутер, то на девайсе должен быть указан шлюз.


Адресом шлюза, как я понимаю, будет являться внешний IP компа (динамически назначаемый провайдером), через который он (комп) имеет доступ к инету. Так?

Возьмём пример:

Условия:
1. Комп, девайс и интернетовский кабель заходят на один свитч
2. Интернет IP компа (динамически назначаемый, может быть любым): 109.161.75.166
3. Внутренний IP адрес компа, например 192.168.0.1

Адресом шлюза в настройках девайса будет 109.161.75.166 ?
Или может им будет IP адрес роутера, через который комп подключен к инету?

Цитата
Во-вторых некоторые сервера требуют SSL и аутенификацию с шифрованным паролем.
Благодарю за информацию, тут я не знаю еще, буду пробовать к Mail.ru сначала значит, дальше видно будет.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 5 2012, 09:04
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(berkl @ May 5 2012, 07:30) *
Условия:
1. Комп, девайс и интернетовский кабель заходят на один свитч
2. Интернет IP компа (динамически назначаемый, может быть любым): 109.161.75.166
3. Внутренний IP адрес компа, например 192.168.0.1

Адресом шлюза в настройках девайса будет 109.161.75.166 ?
Или может им будет IP адрес роутера, через который комп подключен к инету?


Для дивайса шлюзом будет комп (т.е адрес 192.168.0.1), но только в случае если в компе настроен шаринг интернет подключения. Т.е. комп должен быть роутером если вы не напутали с условиями.
Go to the top of the page
 
+Quote Post
Cosmojam
сообщение May 5 2012, 09:07
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Цитата(berkl @ May 5 2012, 07:30) *
Условия:
1. Комп, девайс и интернетовский кабель заходят на один свитч
2. Интернет IP компа (динамически назначаемый, может быть любым): 109.161.75.166
3. Внутренний IP адрес компа, например 192.168.0.1

Адресом шлюза в настройках девайса будет 109.161.75.166 ?
Или может им будет IP адрес роутера, через который комп подключен к инету?

Так всё же от провайдера кабель приходит в роутер (внешний IP 109.161.75.166), а после роутера идёт в свитч, куда подключено всё остальное в т.ч. девайс? Так? Тогда комп вообще не при делах, шлюзом будет внутренний IP роутера 192.168... или что у вас там назначено для него


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
berkl
сообщение May 5 2012, 11:27
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Благодарю за внимание к моей беде.

Цитата
Так всё же от провайдера кабель приходит в роутер (внешний IP 109.161.75.166), а после роутера идёт в свитч, куда подключено всё остальное в т.ч. девайс? Так? Тогда комп вообще не при делах, шлюзом будет внутренний IP роутера 192.168... или что у вас там назначено для него


Давайте ясность внесу.

Внешний IP 109.161.75.166 - это адрес моего компа.
Интернет приходит в помещение в виде кабеля который надо подключать непосредственно в сетевуху компа. Ну или через свитч, как в нашем случае. Что находится на другом конце этого кабеля я не знаю, идёт он откуда-то с крыши по стояку, а что там на крыше у него фиг знает. В инет я захожу вводя логин и пароль, который мне выдал провайдер. Внешний IP адрес моего компа Провайдер назначает мне динамически. Всё (интернет и девайс) подключены к одной сетевой карте компа через свитч, как я и писал.

Про роутер. Если роутер и есть где-то то мне ничего про это не известно, может на крыше и есть чё нить, фиг знает. Для меня существует только приходящий в помещение интернетовский кабель и динамический IP провайдера (109.161.75.166 в нашем примере).

Цитата
Для дивайса шлюзом будет комп (т.е адрес 192.168.0.1), но только в случае если в компе настроен шаринг интернет подключения. Т.е. комп должен быть роутером если вы не напутали с условиями.


Окей, значит IP девайса должен принадлежать внутренней сети компа? Например IP девайса может быть 192.168.0.2, в этом случае. Так?

Тогда вопрос: настроен шаринтг интернета, вы имеете ввиду в свойствах итернет-подключения на стр "Дополнительно" выставить галочку "Разрешить другим пользователям использовать подключение к Интернету...."? Или что?
Go to the top of the page
 
+Quote Post
Cosmojam
сообщение May 5 2012, 14:35
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Цитата
Внешний IP 109.161.75.166 - это адрес моего компа.
Интернет приходит в помещение в виде кабеля который надо подключать непосредственно в сетевуху компа. Ну или через свитч, как в нашем случае. Что находится на другом конце этого кабеля я не знаю, идёт он откуда-то с крыши по стояку, а что там на крыше у него фиг знает. В инет я захожу вводя логин и пароль, который мне выдал провайдер. Внешний IP адрес моего компа Провайдер назначает мне динамически. Всё (интернет и девайс) подключены к одной сетевой карте компа через свитч, как я и писал.

Про роутер. Если роутер и есть где-то то мне ничего про это не известно, может на крыше и есть чё нить, фиг знает. Для меня существует только приходящий в помещение интернетовский кабель и динамический IP провайдера (109.161.75.166 в нашем примере).

Понято. У вас комп и является роутером. В интернет ходит через VPN и раздаёт инет в локалку на одной сетевухе. Не лучший вариант т.к. если провайдер предоставляет локалку между абонентами, то физически ваша сеть окажется частью этой сети и ничем не защищена от других абонентов
Цитата
Окей, значит IP девайса должен принадлежать внутренней сети компа? Например IP девайса может быть 192.168.0.2, в этом случае. Так?

Да. А шлюзом будет внутренний IP компа (192.168.0.1 или что там). При этом на компе должен быть настроен тот самый шаринг интернета именно той галочкой в св-вах интернет-подключения.


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
berkl
сообщение May 5 2012, 15:54
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата
Понято. У вас комп и является роутером. В интернет ходит через VPN и раздаёт инет в локалку на одной сетевухе. Не лучший вариант т.к. если провайдер предоставляет локалку между абонентами, то физически ваша сеть окажется частью этой сети и ничем не защищена от других абонентов


Очень может быть.

Цитата
Да. А шлюзом будет внутренний IP компа (192.168.0.1 или что там). При этом на компе должен быть настроен тот самый шаринг интернета именно той галочкой в св-вах интернет-подключения.


Ясно, с подключением и терминологией вроде немного разобрался.

Вернёмся собственно к SMTP. Допустим, хотим кинуть письмецо кому-то на mail.ru. Для отсылки письма, первым делом SMTP клиент (т.е. мой девайс) должен подключится к порту 25 SMTP сервера. В буквальном смысле, первым делом нужно послать TCP пакет с командой на подключение (флаг SYN) с IP 192.168.0.2 ( от девайса ) на IP SMTP сервера. Вопрос: в нашем случае, каким будет IP SMTP сервера? IP mail.ru? Если да, то откуда девайс его знает? Может у девайса должна быть поддержка DNS чтобы узнавать айпишник сервера?

Или как?

Сообщение отредактировал berkl - May 5 2012, 15:55
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 5 2012, 19:42
Сообщение #9


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(berkl @ May 5 2012, 18:54) *
Вернёмся собственно к SMTP. Допустим, хотим кинуть письмецо кому-то на mail.ru. Для отсылки письма, первым делом SMTP клиент (т.е. мой девайс) должен подключится к порту 25 SMTP сервера. В буквальном смысле, первым делом нужно послать TCP пакет с командой на подключение (флаг SYN) с IP 192.168.0.2 ( от девайса ) на IP SMTP сервера. Вопрос: в нашем случае, каким будет IP SMTP сервера? IP mail.ru? Если да, то откуда девайс его знает? Может у девайса должна быть поддержка DNS чтобы узнавать айпишник сервера?


Вообще-то шаринг интернета в Win XP насколько помню приводит к запуску на компе DHCP сервера который работает с сеткой с жестко заданной маской которая имеет вид 192.168.2.xxx
В Win 7 тоже вроде мало что изменилось.
Т.е. дивайс должен иметь как минимум DHCP клиента.
Сервис DHCP в принципе может сообщить и IP адрес SNMP сервера дивайсу.
Но универсальный путь, конечно, использовать DNS.
При этом DNS сервером для дивайса будет тот же комп.
Go to the top of the page
 
+Quote Post
psL
сообщение May 6 2012, 06:52
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Если нужно слать почту на доменное имя естественно в стеке контроллера должно быть преобразование доменных имен в ip
Go to the top of the page
 
+Quote Post
berkl
сообщение May 6 2012, 07:17
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата
Вообще-то шаринг интернета в Win XP насколько помню приводит к запуску на компе DHCP сервера который работает с сеткой с жестко заданной маской которая имеет вид 192.168.2.xxx


Вроде не так. Когда общий доступ открывается, то этому компу автоматом назначается IP 192.168.0.1. Остальные компы которым нужен интернет должны быть в адресном поле от 192.168.0.2 до 192.168.0.254. Я попробовал 3 компа объединить, всё заработало но адреса остальным компам ручками назначал.

Цитата
Но универсальный путь, конечно, использовать DNS.


Цитата
Если нужно слать почту на доменное имя естественно в стеке контроллера должно быть преобразование доменных имен в ip


Понятно. Значит нужна поддержка DNS на борту девайса, нету её у меня, надо делать.

Парни, благодарю всех за консультацию, добра.

Go to the top of the page
 
+Quote Post
Cosmojam
сообщение May 6 2012, 07:50
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Цитата(berkl @ May 5 2012, 18:54) *
Вернёмся собственно к SMTP. Допустим, хотим кинуть письмецо кому-то на mail.ru. Для отсылки письма, первым делом SMTP клиент (т.е. мой девайс) должен подключится к порту 25 SMTP сервера. В буквальном смысле, первым делом нужно послать TCP пакет с командой на подключение (флаг SYN) с IP 192.168.0.2 ( от девайса ) на IP SMTP сервера. Вопрос: в нашем случае, каким будет IP SMTP сервера? IP mail.ru? Если да, то откуда девайс его знает? Может у девайса должна быть поддержка DNS чтобы узнавать айпишник сервера?

Или как?

SMTP не волнует транспортный уровень, т.е. флаги TCP, ему важно установить соединение и получить ответ от сервера, а какой голубиной почтой это прошло не важно. У mail.ru smtp сервер - smtp.mail.ru. DNS очень желательно, но на крайняк можно и без него по IP (у smtp.mail.ru - 94.100.177.1, но в ответ на приветствие сервера всё равно нужно подставлять доменное имя что он пришлёт). SMTP довольно простой протокол, можете почитать описание и поиграться telnet smtp.mail.ru 25. DNS, кстати, тоже простой, если UDP поддерживает ваш стек, то реализовать несложно.

Сообщение отредактировал Cosmojam - May 6 2012, 07:51


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
vvs157
сообщение May 6 2012, 11:58
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(berkl @ May 5 2012, 19:54) *
Для отсылки письма, первым делом SMTP клиент (т.е. мой девайс) должен подключится к порту 25 SMTP сервера
Некоторые провайдеры (Стрим, например) блокируют 25-й порт. Поэтому проверьте нет ли у Вас такой блокировки. Проверка в ХР - открываете "черное окно" и в нем набираете к примеру telnet smtp.mail.ru 25. Если через некоторое время появится ответ вида "220 smtp13.mail.ru ESMTP ready" - то порт не закрыт. В 7-ке telnet из-за любви к хомячкам убрали, его надо доставлять.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение May 12 2012, 10:35
Сообщение #14


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(berkl @ May 4 2012, 10:06) *
...Какие пути-решения могут быть для этого, что требуется со стороны моего девайса и/или компа, через который осуществляется доступ в интернет?...


тут всё выше верно уже сказали...Но предлагаю начать ышо с более простого. сделайте поддержку пинга. как эха, так и саму тестилку. и многое станет на свои места.

если вообще всё сводить к минимуму. то вам нужен тупо IP адрес, куда слать по определённому протоколу определённые данные и усё. Всё остальное - надстройки и удобства. Т.е. например если ваш девайс поддерживает ARP и эхо ответ от службы ICMP то Вы его сможете пинговать в любой сети (если это разрешено и маршрутиризация настроена корректно внутри сети)...

удачи вам
(круглый)
ЗЫ
Рекомендую обзавестись сетевым анализатором, и частенько заглядывать в него на предмет - а как это сделано у других.... Плюс даташиты с РФСи и многие вопросы отпадут сами собой...
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 30 2012, 09:18
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Здравия всем,

Цитата
Некоторые провайдеры (Стрим, например) блокируют 25-й порт. Поэтому проверьте нет ли у Вас такой блокировки. Проверка в ХР - открываете "черное окно" и в нем набираете к примеру telnet smtp.mail.ru 25. Если через некоторое время появится ответ вида "220 smtp13.mail.ru ESMTP ready" - то порт не закрыт. В 7-ке telnet из-за любви к хомячкам убрали, его надо доставлять.



Возможно у меня именно именно этот случай - блокировка со стороны провайдера.

Пробовал запускать telnet smtp.mail.ru 25 , а также telnet smtp.yandex.ru 25, и telnet smtp.gmail.ru 25 . Не соединяются.

Ладно, дальше решил проводить эксперименты только с сервером Яндекса. Глянул описание как Outlook Express (ОЕ) настраивается на работу с Яндексом. Для исходящей почты там сказано выбирать порт 465, с кодированием, то есть использовать протокол SSL. То есть Яндексу письмо по SMTP не послать теперь, и в данном случае, мой провайдер не причём?

Я запустил сниффер (Wireshark) чтобы посмотреть чё там происходит. В общем, если SSL в настройках ОЕ не выбран, то он (OE) отправляет запрос на соединение с портом 465 Яндекса (SYN), тот ему отвечает (SYN, ACK) и всё на этом.
А если галочку для SSL выставить то после соединения с 465 портом, ОЕ посылает "Hello" Яндексу, тот в ответ ему тоже "Hello" и дальше пошло поехало...

Короче я прихожу к выводу что посылка писем через Яндекс по SMTP протоколу невозможна, SSL, TLS - пожалуста. И вероятно та же байда с остальными "большими" почтовыми серверами.

Я прав?

Заранее благодарен
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.02182 секунд с 7
ELECTRONIX ©2004-2016