Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Как программно отправить SMS?


Автор: 00000 29.4.2003, 09:03
Как программно отправить SMS?

Автор: Vex 29.4.2003, 09:16
SMS собой представляет письмо E-Mail, надо просто отправить это письмо на гейт оператора мобильной связи, проблема может быть в том, что оператор не всегда позволяет делать такое да и надо знать формат сообщений и сервер оператора.
Вот например, чтобы послать SMS в Киевстаре (украинский оператор) надо послать E-Mail по такому адресу: +38067XXX-XX-XX@sms.kyivstar.net. где ХХХ-ХХ-ХХ - номер телефона.

Автор: 00000 29.4.2003, 11:26
Спасибо. Полезная информация.

Автор: -=Fox=- 30.4.2003, 01:35
Для контрактников Киевстара оуончания адреса:
@sms.kyivstar.net
а для ACE&BASE^
@2sms.kyivstar.net

Для umc:
@sms.umc.com.ua

Автор: Shuricksoft 2.5.2003, 14:33
И плюс в начале адреса вводить не надо. Кстати, СМС - это не почтовое сообщение, просто есть у некоторых (не у всех!) операторов сервис такой - мэил-шлюз. У других же операторов (например, DCC - тоже украинский оператор) есть возможность отправлять только с сайта. Соотвественно, для таких операторов надо лезть на сайт, глядеть имя файла скрипта, отловить параметры, а потом из своей проги не сайт открывать, а скрытно так запускать скрипт с нужными параметрами.
Но есть ещё один скрытый прикол. СМСки через разные шлюзы идут с разной скоростью =) Например, я слал себе на "Киевстаровский" номер с сайта - несколько дней (!) шло, параллельно послал через мэил-шлюз - 5 минут! Так что, лучше либо дублировать, либо (что ещё лучше) спрашивать пользователя, какой шлюз он желает юзать.

Автор: December 4.5.2003, 02:48
Цитата(Shuricksoft @ 2.5.2003, 14:33)
Но есть ещё один скрытый прикол. СМСки через разные шлюзы идут с разной скоростью =) Например, я слал себе на "Киевстаровский" номер с сайта - несколько дней (!) шло, параллельно послал через мэил-шлюз - 5 минут! Так что, лучше либо дублировать, либо (что ещё лучше) спрашивать пользователя, какой шлюз он желает юзать.

А вот это не факт. У меня был тот же эксперимент (но не одновременно, а в разные дни), и с сайта могло сообщение шло за 30 сек - 5 мин, а через шлюз - могло вообще не дойти. Тот же Киевстар, покрытие сетью 100%.

Автор: Medved 4.5.2003, 06:06
Обычно каждый оператор распространяет маленькие буклетики, где подробно описывается, как и в каком формате требуется отправить сообщение.

Автор: December 5.5.2003, 01:34
Цитата
Обычно каждый оператор распространяет маленькие буклетики, где подробно описывается, как и в каком формате требуется отправить сообщение.

Фигли, оператор подробно описывает, какой он хороший, какие классные у него цены и какой он надёжный. smile.gif

Автор: K_vasik@ukr.net 17.1.2004, 16:53
Timon

Автор: Unregistered 19.1.2004, 02:09
Мне известны трм способа отправить смс с компьтера:
1. Используя хттп, через сервис опсоса. (GET/POST) на мой взгляд этот метод наиболее предпочтительный. Требуется только наличие интернета.
2. Через почтовик (уже об этом говорили). Сложность в том, что надо дергать свой почтовик или писать свой.
3. Через другой сотовый телефон подключенный к компу. Это конечно супер, надо только знать как подключить телефон (в нете много инфы USB, RS232) ну и, собственно, протокол обмена. Не нужен интернет, но надо платить (единственный и большой минус).
На последок, чтоб не быть голословным.
Моя прога отправляет смс через шлюз опсоса. Справедливо в области действия "Горизонт-РТ"
(у других должно быть так же):

Код

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
 IdTCPClient, IdHTTP;

type
 TForm1 = class(TForm)
   IdHTTP: TIdHTTP;
   Button1: TButton;
   Memo1: TMemo;
   Edit1: TEdit;
   Edit2: TEdit;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

function SendSMS(AidHTTP:TidHTTP;ProxyPort:integer;ProxiAddrr:string;const Tel,SMSTxt:string):string;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function SendSMS(AidHTTP:TidHTTP;ProxyPort:integer;ProxiAddrr:string;const Tel,SMSTxt:string):string;
var
 Request : TStringList;
 Response:TStringStream;
 URL:string;
begin
 Result:='nothing';
 URL:='http://www.gorizont-rt.ru/cgi-bin/smsgate.exe/submit';
 AidHTTP.ProxyParams.ProxyPort:=ProxyPort;
 AidHTTP.ProxyParams.ProxyServer:=ProxiAddrr;
 AidHTTP.Request.ContentType:='text/html';
 Request:=TStringList.Create;
 Request.Add('txtAddr=741147'+Tel); // сюда писать то что передаешь
 Request.Add('txtSM='+SMSTxt);
 Response:=TStringStream.Create('');
 try
   AidHTTP.Post(URL,Request,Response);
   Result:= Response.DataString; // Ответ
 except on E:Exception do
   Result:='$E '+E.Message;
 end;
 Request.Free;
 Response.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Memo1.Lines.Add(SendSMS(idHTTP,3128,'192.168.222.1',Edit1.Text,Edit2.Text));

end;

end.

извиняюсь за сырец, этого достаточно чтоб понять суть.

Автор: Fedor 19.1.2004, 03:39
А это халявно? Кто за это СМС платит?
Получатель? Нелогично...
Халява? Смысл операторы в такой услуге...
Отправитель? Каким образом...

Автор: Unregistered 19.1.2004, 03:43
Ты платил за смс которые отправлял через сайт? Нет, однозначно. прием смс бесплатный. ВЕЗДЕ.

Автор: Unregistered 19.1.2004, 03:44
Разве, что время интернета.

Автор: Fedor 19.1.2004, 03:53
Да. А СМЫСЛ оператору в такой услуге?

Автор: Unregistered 19.1.2004, 05:39
Хороший оператор - многосервисный оператор

Автор: dm9 19.1.2004, 20:30
А ещё можно отправлять sms через ICQ. Если очень интересно - поищите исходники на www.delphimaster.ru

Автор: Unregistered 21.1.2004, 09:34
Это надо юзать ICQ-ный com-сервис. К тому же, кто-нибудь пробовал отправить sms через асю? Я пробовал... не получилось и вряд ли получиться (из России с любовью).

Автор: 78125 21.1.2004, 13:45
Цитата(Unregistered @ 21.1.2004, 10:34)
Это надо юзать ICQ-ный com-сервис. К тому же, кто-нибудь пробовал отправить sms через асю? Я пробовал... не получилось и вряд ли получиться (из России с любовью).

Megafon в России однозначно поддерживает отправку через ICQ.

Автор: Y-Vladimir 24.9.2004, 14:39
Биллайн тоже позволяет отправлять с своего сайта: www.beeonline.ru
там же есть и клиент для отправки СМС, весит он 1 метр. Сообщения доходят через 10 секунд

Автор: Akella 27.10.2004, 08:36
:offtopic звыняйтэ, хлопци
Цитата
Фигли, оператор подробно описывает, какой он хороший, какие классные у него цены и какой он надёжный.

согласен с December`ом, реклама UMC гласит о снижении цен, НО НИ О КАКОМ СНИЖЕНИИ И РЕЧИ БЫТЬ НЕ МОЖЕТ. Это относительно того, что в рекламных буклетах операторов связи описано, например, как отправить SMS не с сайта оператора.
Добавлено @ 08:40
:offtopic
Цитата
Привет милая как дела? я соскучился!

это что еще тут такое.. :D :D :D :thumbs-up

Автор: ~FoX~ 27.10.2004, 10:35
Цитата(Y @ 24.9.2004, 14:39)

Биллайн тоже позволяет отправлять с своего сайта: www.beeonline.ru
там же есть и клиент для отправки СМС, весит он 1 метр. Сообщения доходят через 10 секунд

Угу, но для отправки СМС через сайт нужно
1. нумерочек ввсети идонтификационный, а он из картиночек собирается коряво написанных.
2. для отправки второго смс должно пройти какоето время (не помню точно 30 сек. ИМХО)
3. сообщение через сайт можно отправлять только обанентам сети.

Автор: Guest 29.10.2004, 12:22
:D а метод get/post намного интереснее и пишется даже на 3 делфи за полминуты, нужон только clientsocet. открываем, отправляем запрос и всё....

Автор: Akella 17.7.2007, 13:10
Guest, ты имеешь ввиду через сайт? а защитный код на картинках тоже будешь распознавать?

Автор: Borland_Delphi_6 19.8.2007, 13:15
Akella, мне кажется, он не ответит =) Кстати, схема с ручным вводом защитного кода выглядит вполне жизнеспособной. Ввести четыре цифры/буквы с картинки проще и быстрее, чем заходить на сайт оператора, перекачивая при этом кучу ненужной рекламы. Но вот я слышал, что есть специальный протокол именно для отправки SMS, названия, к сожалению, не помню :( Но этот протокол использует, например, Clickatell (http://clickatell.com, если память не изменяет).

Автор: aktuba 19.8.2007, 14:36
AkellaBorland_Delphi_6, вы дату последнего сообщения смотрели? =))))

Автор: Borland_Delphi_6 19.8.2007, 16:15
aktuba, я-то смотрел, но подумал, раз уж Akella все равно уже промахнулся с топиком и он теперь вверху списка, почему бы не продолжить беседу на сабжевую тему?  smile

Автор: Boratfag 26.12.2020, 04:02
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)