![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Control |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
Всем привет ! Люди, пожалуйсто помогите разобратьсяв следующем :
Мне нужно написать программу, которая будит принимать отправляемые с оператора мобильной связи письма по SMTP протоколу, и после определённой обработки отправлять их ему обратно по тому-же каналу. Писать собираюсь на C++ Builder 6. Но если честно, я ещё ниразу не работал с сетью и почтой. И имею довольно поверхностные знания в этой сфере. По этому если вам не трудно, немогли-бы вы мне немного помочь разобраться с этим ![]() Принцип работы самого протокола примерно ясен, налажевается 2х сторонняя связь между клиентом и сервером, клиент подаёт запросы, сервер пассивно на них отвечает. Я видил комманды типо HELO... но это всё как-то слишком низкоуровнево. Ведь есть уже готовые компоненты вроде idSMTP в INDY можно ли его использовать для этой цели ? Если да, то как его использовать, и если не трудно кто-нибудь мог бы скинуть пример его использования и доккументацию на русском языке ? ![]() 1) И ещё один вопорс : Если я буду отправлять почту на сервер этого мобильного оператора, я ведь должен делать это с уже имеющегося где-то почтового адреса, который физически существует и доступен ? Или это может быть любой фиктивный адрес, который может не существовать вовсе ? 2) И принимать почту с сервера того оператора, я тем-более должен буду на существующий адрес ? Иначе, как- же я смогу её принять и обработать ? 3) Тогда получается, что мне нужно будит создать для этого свой, собственный почтовый сервер ? А как это зделать ? 4) Или я смогу производить все операции через любой "Почтовик" используя его как посредника ? Например если у меня есть ящик зарегестрированный на mail.ru, я смогу получать все письма от оператора на него и обрабатывать их своей программой ? А что если он переполнится, или скажем если на него будит в день приходить по 300-500 писем, мне же его закроют, или запретят приём писем с IP адреса оператора сочтя эти письма за SPAM. Подскажите пожалуйсто, как можно это всё организовать, и если не трудно, выложите пару примеров по 2х сторонней рассылке почты. За ранее благодарю ![]() С УВАЖЕНИЕМ Control |
|||
|
||||
Aleksandor |
|
|||
![]() Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: нет Всего: 12 |
>Мне нужно написать программу, которая будит принимать отправляемые с оператора >мобильной связи письма по SMTP протоколу, и после определённой обработки отправлять их >ему обратно по тому-же каналу. Писать собираюсь на C++ Builder 6.
А что, существуют такие операторы предоставляющие (бесплатный?) шлюз к электронной почте (SMS->email)? Или там обычный почтовый сервак стоит? Забирать письма ты можешь (по протоколу POP3) с сервера оператора, а чтобы отослать письма(по протоколу SMTP) нужен SMTP сервер - твоего провайдера или любой другой, но не на твоей машине. Кстати бывает что провайдеры в целях борьбы со спамом не разрешают пользоваться чужими SMTP серверами, только их собственным. -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
Control |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
Да нет, в общем суть в следующем : Оператор мобильной связи выделяет мне платный фиксированный номер. Далее каким-то образом, обрабатывает все входящие на данный номер sms сообщения и отправляет их содержимое мне ( как они сказали ) по протоколу SMTP. Только вот куда ? Все технические данные мне ещё только предстаит от них получить. А может быть такое, что адресатом "приёмника" будит шлюз на ихнем же хосте ? То-есть они выделят мне какой-то адрес, на который их сервар будит сгружать все адресованные мне sms в виде почты, и дадут мне полный доступ к этому адресу. Следовательно отсылать письма на Их сервер, я буду с Их же клиента. Тогда получится, что весь транспорт данных будит осуществляться таким образом : [email protected] <--> [email protected] ? Я так понимаю, что у них там не просто "почтовик" стоит. Кто-нибудь знает, КАК ЭТО ВСЁ РАБОТАТЬ ДОЛЖНО ? Буду очень признателен, ежели кто вразумит. ![]() ![]() |
|||
|
||||
Aleksandor |
|
|||
![]() Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: нет Всего: 12 |
Ну хорошо, значит шлюз они вам предоставили и будут отправлять sms на ваш почтовый ящик.
Таким образом читать вы их будете по протоколу POP3 а отправлять обратно по SMTP. Получается обычный почтовый клиент, но с возможностью какой-то дополнительной обработки данных ![]() Еще вариант - поставить у себя сервер SMTP "на прием" и клиент SMTP "на передачу", но это если имеется статический IP адрес и постоянное подключение к инету. Это сообщение отредактировал(а) Aleksandor - 31.12.2005, 09:39 -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
Control |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
![]() Ну к примеру, пусть это будит услуга по информированию клиента (отправителя sms на мой номер) о курсах валют, или прогнозе погоды на завтра. Соответственно если запрос на обе эти услуги будут поступать на однин и тот-же тел. номер (который я орендую у оператора), моя программа должна будит при получении письма определить что именно хочет знать отправитель, инфо по погоде или по валюте ? Для этого, придётся использовать "Ключевые слова" допустим на погоду пусть будит WTR_MOSKOW. Где WTR - тип запрашиваемой услуги, а MOSKOW город по которому необходимо предоставить отвечающую на услугу информацию. Тоже-самое будит и на валюту, к примеру такое содержание sms : CURR_USD,RUR,LVL... будит соответствовать типу услуги Currency Rate а USD,RUR,LVL типу валют по которым нужно возвратить информацию. Ну и соответственно нужно будит выдрать из поступившего письма номер отправителя, чтоб ответить на его запрос, и занести в базу, если он подписался на ежедневную рассылку к примеру. Aleksandor уважительная просьба, не могли бы Вы кинуть простенький пример по приёму-передаче писем между двумя адресатаи. По содержанию примерно токого рода : ввожу адрес почты, и программа постоянно следит о поступлении на него новых писем с другово известного адреса, как только с него пришло письмо, в Мемо автоматически вывести его содержимое. Или если не трудно, разъясните пожалуйсто, как это нужно организовать. ![]() ![]() С Уважением Control. Это сообщение отредактировал(а) Control - 3.1.2006, 19:01 |
|||
|
||||
Aleksandor |
|
|||
![]() Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: нет Всего: 12 |
Мне кажется в Вашем случае, если есть возможность постоянного подключения к провайдеру и статический IP адрес (у нас в Москве это можно организовать в СТРИМ за $25/мес) то лучше написать серверную часть SMTP клиента, не полный SMTP сервер, а только код необходимый для приема сообщений от оператора. Вторая часть - это обычный почтовый клиент отсылающий письма на SMTP сервер оператора после обработки.
Во втором случае (если используется внешний POP сервер) то все как в стандартной почтовой проге - пусть она соединяется с сервером каждые 1-2 минуты и забирает почту. Юзайте в Яндексе описание протоколов SMTP и POP3 - протоколы очень простые ![]() -------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
Control |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
А можно для этих целей использовать Indy компоненты C++ Builder 6 ? Но я видил в Delphi 7 - Indy SMTP Client и Indy SMTP Server, в то время, как в C++Builder 6 только один компонент idSMTP. Или он может выполнять функции и клиента и сервера ? Может есть где простенький, но наглядный пример ![]() ![]() Это сообщение отредактировал(а) Control - 3.1.2006, 21:00 |
|||
|
||||
Control |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
Вот, накидал ТАКОЙ код, использовал компоненты с закладок Indy : IdSMTP и IdMessage :
Но почему-то ничего не передаётся, долго думает, а потом выдаёт вот такое уведомление о произведённой ошибке :
и за ним
Указывал в хосте и mail.yahoo.com и smtp.yahoo.com всё равно одно и то-же происходит. Пожалуйсто помогите разобратья. ![]() |
||||||
|
|||||||
Control |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 28.12.2005 Где: Рига, Латвия Репутация: нет Всего: нет |
Ну, может кто сможет ответить на мой вопрос ? Если конечно не затруднит.
|
|||
|
||||
L0n3R4ng3r |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 8.4.2006 Репутация: нет Всего: нет |
скорей всего поблема в следущем:
На многих смтп серверах стоит защита от спама тоесть стоит аутенфикация по юзеру + иногда с помощью как-нибуть алгоритма шифрования, может стоит там копать. Наверное для таких целей действительно прийдеться ставит свой смтп сервер. |
|||
|
||||
КУБ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 5.6.2006 Где: Украина, Донецк Репутация: нет Всего: нет |
||||
|
||||
Alca |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Есть, вкладка Инди Добавлено через 2 минуты и 28 секунд
Логин и пароль может в Бэйз64 конвертнуть? |
||||
|
|||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
![]() ![]() |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Нда.......
что, удалять? ![]() |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
mrbrooks, дату провтыкал
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |