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

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 21 авг 2011, 20:37

Виртуальный пользователь это в серверном плагине. У нас
ID: 63
Блок данных: текст(имя пользователя) + число(тип сообщения) + текст(сообщение)

Типы сообщений:
0 - обычное сообщение
1 - состояние (F9)

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 21 авг 2011, 20:42

А может не 63 а 10?
Сообщение в приватный канал или личное сообщение
ID: 10
Блок данных: пользователь() + число(тип сообщения) + текст(сообщение) + данные(JPEG-изображение в случае его наличия) + число(позиция изображения относительно текста сообщения)
Типы сообщений:
0 - обычное сообщение в приватный канал
1 - состояние в приватный канал (F9)
2 - изображение в приватный канал (текст в этом случае будет "[image]")
3 - личное сообщение

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 21 авг 2011, 20:44

10 это принятие данных, а 63 отправка сообщения.

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 21 авг 2011, 20:48

Я не понял, в привате вообще не работает или только сообщение о результате (отправлено/не отправлено) не отображается?
Если вообще смс/email не отпраляется, то что-то с принятием сообщения (10), а если просто результат не выводится, то с отправкой (63)

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 21 авг 2011, 21:13

Разобрались уже :D, это мне пользователь команду неправильно писал, вместо !маИл написал !маЙл

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 21 авг 2011, 21:16

Понятно. А может быть сделать обработку обеих команд, а то скорее всего ошибок будет много?

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 21 авг 2011, 21:20

Тогда нужно обрабатывать и такое !vfbk и такое !МАИЛ
А есть какая-нибудь функция которая автоматически строку переведёт в нижний регистр?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 21 авг 2011, 21:29

!МАИЛ зачем? При сравнении строк делфи регистр не учитывает (в отличии от си-подобных языков).
Перевод строки в нижний регистр

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

s:=AnsiLowerCase(s);
Подключить модуль StrUtils

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 21 авг 2011, 21:37

Не получилось отправить по команде !МАИЛ, а вот использовав AnsiLowerCase() получилось.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 22 авг 2011, 10:47

При первом запуске когда данные не введены при попытке подключения что выполняется?

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

idSMTP1:= TIdSMTP.Create(nil); 
  idMessage1:=TIdMessage.Create(nil);
  try
        IdSMTP1.AuthenticationType:=atLogin;
        IdSMTP1.Host:=Rec.SMTP;
        IdSMTP1.Port:=Rec.Port;
        IdSMTP1.Username:=Rec.LoginMail;
        IdSMTP1.Password:=Rec.PasMail;
      except
        on e:Exception do
      end;
И мне наверно нужно на кнопку сохранить тоже этот код поставить? Или туда только это

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

 try
        IdSMTP1.AuthenticationType:=atLogin;
        IdSMTP1.Host:=Rec.SMTP;
        IdSMTP1.Port:=Rec.Port;
        IdSMTP1.Username:=Rec.LoginMail;
        IdSMTP1.Password:=Rec.PasMail;
      except
        on e:Exception do
      end;

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 22 авг 2011, 12:17

Первый код - создание объекта IdSMTP и заполнение параметров учётной записи mail.ru. Саму авторизацию здесь не вижу - видимо при отправке происходит.
Второй код оставить таким как есть, не нужно повторно создавать объекты.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 22 авг 2011, 12:20

В первом коде если данные учётной записи пустые что выполнит on e:Exception do?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 22 авг 2011, 12:27

А вот об этом я сразу не подумал. Блок try - catch отвечающий за обработку исключений должен быть перед connect и disсonnect, здесь он бесполезен. А вообще в данном случае on e:Exception do ничего не делает, просто предотвращает появление окна с сообщением об ошибке и закрытие программы в случае невозможности соединения с сервером

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 22 авг 2011, 12:34

Ясно, хотя бы окна лишнии не будут появляться.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 25 авг 2011, 11:52

nikitka писал(а):Добавьте поддержку работы плагина через прокси HTTP/RTPS/SOCKS. Спасибо.
А у нас сейчас через что?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 25 авг 2011, 12:11

Это имеется ввиду через прокси-сервер.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 25 авг 2011, 12:16

В нашем случае можно сделать или слишком сложно?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 25 авг 2011, 12:17

Надо тестировать. Он скорее всего сможет работать через прокси.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Maximus » 25 авг 2011, 15:01

А какой вообще смысл через прокси пускать?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

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

Сообщение Andrey » 25 авг 2011, 15:29

Не вижу смысла для серверного плагина. Или он по прежнему клиентский?

Ответить