Отправка SMS (Delphi)

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Сообщение #1 Maximus » 12.08.2011, 12:59

Есть ли возможность отправить смс прямо из программы?

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #2 Andrey » 12.08.2011, 13:20

Можно, но при условии что программа работает с подключенным к компьютером телефоном или использует онлайн-сервис отправки sms. То есть без использования сторонних сервисов не обойтись.

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #3 Maximus » 12.08.2011, 13:23

Телефон - не вариант. А вот насчёт сервисов слышал, что можно как-то через электронную почту отправить или есть ещё способы?

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #4 Andrey » 12.08.2011, 13:35

Через почту не у всех операторов. Есть другие способы: использовать веб-компоненты современных версий delphi и связываться с сервисами отправки sms, подделывать заголовки ответа сервера и просто отправлять через программу (не рекомендуется, заголовки могут измениться в любое время), использовать iframe для отображения в программе страницы отправки sms с сайта сервиса.

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #5 Maximus » 12.08.2011, 13:43

Только вот на всех сайтах нужно вводить капчу, а мне нужно чтобы в программе вводился только номер телефона и текст.

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #6 Andrey » 12.08.2011, 13:58

Тогда остаются только sms-шлюзы (то что через email). Но такая услуга может быть не у всех операторов, может быть платной, может быть отключена у абонентов оператора

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #7 Maximus » 12.08.2011, 14:48

Ну а как это сделать, что за шлюзы нужно использовать?

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #8 Andrey » 12.08.2011, 14:59

Я их адреса так и не нашёл. Делается это путём отправки email (например 9190000000@mts.ru) из Delphi.

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #9 Maximus » 12.08.2011, 15:34

А как отправить и зачем тогда шлюзы если можно так (например 9190000000@mts.ru) отправить?

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #10 Andrey » 12.08.2011, 15:42

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

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #11 Maximus » 12.08.2011, 15:45

Выложи пожалуйста. А вот интересно каким образом работают сайты на которых можно вписать номер отправителя?

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #12 Andrey » 12.08.2011, 16:01

Maximus писал(а):А вот интересно каким образом работают сайты на которых можно вписать номер отправителя?
Посмотрел один такой. Просто подгрузка информации, в том числе и капчи с сайта оператора, в зависимости от введённого номера.

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #13 Maximus » 12.08.2011, 16:08

Подгрузка какой информации? Ведь на сайтах операторов нет такой опции "замена номера отправителя".

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #14 Andrey » 12.08.2011, 16:48

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

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #15 Andrey » 12.08.2011, 16:55

Проверил код, email-сообщения отправляются нормально, но вот к примеру через шлюз mts ничего не проходит, адреса других не нашёл. Выкладывать этот код или не нужен?

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #16 Maximus » 12.08.2011, 17:16

Давай, посмотрю.

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #17 Andrey » 12.08.2011, 17:22

1. Добавить на форму компоненты TidSMTP и TidMessage из группы Indy.
2. Код инициализации подключения к SMTP-серверу

Код: Выделить всё

try
    IdSMTP1.AuthType:=satDefault;
    IdSMTP1.Host:='box.vrn.ru'; //любой SMTP
    IdSMTP1.Port:=25;
    IdSMTP1.Username:=''; //логин
    IdSMTP1.Password:='';  //пароль
    IdSMTP1.Connect;
  except
    on e:Exception do
  end;

3. Код отправки

Код: Выделить всё

var
  msg:TIdMessage;
.......
try
    msg:=TIdMessage.Create(nil);
    msg.Body.Add('test mail'); //text
    msg.Subject:='header message'; //заголовок
    msg.From.Address:=sender_mail@mail.ru'; //адрес отправителя
    msg.From.Name:='name'; //имя отправителя
    msg.Recipients.EMailAddresses:='9190000000@sms.mts.ru';
    msg.IsEncoded:=True;
    IdSMTP1.Send(msg);
    msg.Free;
    IdSMTP1.Disconnect;
  except
    on e:Exception do
    begin
      msg.Free;
      IdSMTP1.Disconnect;
    end;
  end;

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #18 Maximus » 12.08.2011, 17:29

А вот здесь, логин и пароль от чего? И что такое SMTP?

Код: Выделить всё

IdSMTP1.Host:='box.vrn.ru'; //любой SMTP
    IdSMTP1.Port:=25;
    IdSMTP1.Username:=''; //логин
    IdSMTP1.Password:='';  //пароль

Andrey M
Администратор
Администратор
Аватара
Andrey M
Администратор
Администратор
Репутация: 0
Сообщения: 2345
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт Skype

Re: Отправка SMS (Delphi)

Сообщение #19 Andrey » 12.08.2011, 17:36

SMTP - протокол исходящей почты. SMTP-сервер - сервер, который отправляет почту.
Логин и пароль соответственно от учётной записи SMTP-сервера. Из сети freedom можно использовать адрес box.vrn.ru без авторизации (с внешки не работает). Можно использовать smtp.mail.ru, smtp.gmail.com, smtp.rambler.ru и другие (нужно иметь почтовые аккаунты на этих серверах).

Maximus M
Автор темы, Супермодератор
Супермодератор
Аватара
Maximus M
Автор темы, Супермодератор
Супермодератор
Репутация: 0
Сообщения: 1507
С нами: 6 лет 9 месяцев
Откуда: Воронеж
ICQ Сайт

Re: Отправка SMS (Delphi)

Сообщение #20 Maximus » 12.08.2011, 17:49

А из какой именно группы Indy? У меня там сервер, клиент, intercepts, I/O Handlers, Misk.


Вернуться в «Delphi/Pascal»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 4 гостя