Идет бета-тестирование портала. Об ошибках пишите нам или на форуме.

Программная отправка SMS из 1С через бесплатную программу cmd2phone

6

Полезные технологии

18.11.2008

Описание

Программа позволяет отправлять SMS через любой телефон, который при подключении к компьютеру через кабель, IRDA или BLUETOOTH создает модем на свободном COM-порте.
Подключение к интернет не требуется. Управление через командную строку и лог.
Автор: Валерий Доможиров (d_valery@mail.ru)

Задался целью отправлять SMS через мобильный телефон, подключенный к компьютеру.
Но все программы, которые я нашел на infostart, были либо демо-версиями, либо не управляемыми.
Тогда я отправился на поиски в интернет и нашел программу cmd2phone: http://myfreeware.narod.ru/products/cmd2phone.htm
Упоминание о ней я нашел на каком-то форуме, а потом ввел в яндексе "cmd2phone" и нашел сайт программы.

Тестирование хотел провести на телефоне GINZA MS 100, но у этого телефона не оказалось модема.
Тогда я использовал NOKIA 6021.
Я сделал сопряжение телефона и компьютера через BLUETOOTH.
Правда, телефон обрывал подключение компьютера через 3-4 секунды простоя и при новом подключении запрашивал подтверждение.
Я зашел на телефоне в список сопряженных устройств и для подключения к компьютеру выбрал режим "Автоподключение без подтверждения".

В панели управления в разделе "Телефоны и модем" я нашел новый модем, созданный при сопряжении телефона, зашел в его свойства, нажал кнопку "Протестировать".
Запомнил номер порта - COM55.
Дальше я изучил параметры командной строки.
В конечном итоге используется команда:

cmd2phone -Q -P COM55 -L -LF "log_sms.txt" -M "THIS" 8909....... "hello its me !"

-Q - задает тихий режим, чтобы не выдавалось предупреждение после завершения отправки (я анализирую результат в логе).
-P COM - задает номер COM-порта, на который подключился мобильный телефон.
-L - обозначает что нужно выводить записи в журнал (лог).
-LF - указывает имя файла лога. Если не указан полный путь, файл создается в каталоге с программой.
-M - указывает сообщение, которое должно выводиться в начало строки лога (можно маркировать каждую отдельную отправку СМС"
"hello its me !" - это смс-сообщение.

В результате нескольких отправок я получил протокол:

18.11.08 19:20:54 Sent Message is successfully!
18.11.08 19:22:23 THIS Sent Message is successfully!

При второй отправке я задал маркер "THIS" и вот я его вижу в логе.

Программа позволяет осуществлять массовые рассылки SMS, т.е. передавать файл с сообщениями и адресатами.

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

Можно в принципе анализировать код возврата, но для массовых рассылок лучше анализировать лог.

Рекомендую выбрать дешевый тариф оператора, где SMS стоят дешево.


Вот информация из файла документации из поставки:

Вызов:
CMD2PHONE.EXE [Опции] <телефон>|<Файл со списком> <Сообщение>|= <Файл с сообщением>

Где:
[Опции]
[-P|/P <COMPORT>] - COM-порт подключения телефона, например: -P COM1 (запоминается, можно указать только один раз)
[-S|/S <SPEED>] - скорость обмена с COM-портом, например: -S 115200 (запоминается, можно указать только один раз)
[-SC|/SC <SMCA>] - номер центра SMS сообщений, например: -SC +79262909090
[-Q|/Q] - "тихий режим" без вывода сообщений об ошибках и результате отправки
[-N|/N] - делить длинные сообщения на короткие SMS (не поддерживаются длинные)
[-D|/D] - режим отладки с протоколирование всей информации в лог-файл
[-E|/E <File>] - эмуляция COM-порта, вывод данных в файл <File>
[-LF|/LF <LogFile>] - путь к LOG-файлу (запоминается, можно указать только один раз)
[-L|/L] - Результат отправки записывать в Log-файл заданный ключом -LF
[-M|/M <Mark>] - "метка" в лог-файле в первой колонке всех выводимых строк
[-T|/T] - транслитерация сообщения в латиницу
[-W|/W <Wait Timeout>] - максимальное время работы программы в секундах(запоминается)
[-A|/A <pAuse Timeout>] - время ожидания в секундах после отправки SMS
[-PD|/PD] - сообщение содержит данные в PDU-формате (в HEX-формате)
[-IH|/IH] - заголовок помещен в данные в PDU-формате
[-HD|/HD <HEADER>] - заголовок сообщения в PDU-формате (в HEX-формате без длины)
[-F|/F] - сообщение с выводом на экран (Flash-SMS)
[-BD|/BD] - файл с сообщением содержит двоичные данные (например, картинка или мелодия)
<телефон> - номер телефона или список номеров через запятую без пробелов
<Файл со списком> - путь к файлу со списком телефонов через запятую или с новой строки
<Сообщение> - текст сообщения в кириллице или латинице (работает автоопределение кодировки)
= <Файл с сообщением> - путь к файлу с сообщением
Файл может содержать текст максимальной длины 40800 символов в латинице
либо 17850 символов в кириллице и это будет 255 SMS-сок :-)

Примеры вызова:
CMD2PHONE -P COM2 -L -M "SERVER DB" +79101234567,+79101234568,+79101234569 "Это тестовое сообщение на список номеров"
CMD2PHONE +79101234567 "Это тестовое сообщение"
CMD2PHONE -P COM1 -S 115200 -SC +79262909090 -L -LF "C:\Program Files\VD Soft\SMS.LOG" +79101234567 Это тестовое сообщение!
CMD2PHONE +79101234567 = "C:\Program Files\VD Soft\SMS.TXT"
CMD2PHONE -P COM3 -Q -LF "C:\Log.txt" -L -M Serv1 "C:\Phones.txt" = "C:\Message.txt"
CMD2PHONE -PD -HD 050415810000 +79101234567 024A3A51D195CDD004001B205505906105605585505485408208499000
тоже самое одним пакетом:
CMD2PHONE -PD -IH +79101234567 06050415811581024A3A51D195CDD008001B205505906105605585505485408208499000

Две последних строки отправляет текст "test" и пример мелодии, закодированные в PDU формате.
В последней строке разделены заголовок и тело сообщения, благодаря чему тело сообщения может быть длиннее 140 байт.
Пакет будет автоматически резаться на СМС длиной 140 байт с автоматической вставкой заголовков.
Кому интересно узнать о формате PDU, Вам сюда: http://www.forum.nokia.com/main/html_readers/smart_messaging_faq.html
Или просто скачайте этот документ: http://sw.nokia.com/id/23e93d2d-0f25-4799-9b03-1ec9b5cf775a/Smart_Messaging_FAQ_v2_0.pdf
Форум по SMS здесь: http://discussion.forum.nokia.com/forum/forumdisplay.php?s=&forumid=22

Примечание:
КОД ВОЗВРАТА: Если все ОК, то код возврата будет равен 200 иначе 0.

Оценка сообщества

Плюсы (+8):

, , , , , , ,

Минусы (– 2):

,


Добавить плюс Добавить минус

Комментарии (12)

1.
+ -
19.11.2008 05:11:16

>> Тогда я использовал NOKIA 6021.
Твоя беда - несолидные мобилы, которые ты брал для теста. Нармальные пацаны юзают вот что: http://www.e-blog.com.ua//data/storage/images/3c4bdc8a2a781cdc4209e22d683cb165.jpg Ну или хотя бы Zenum Opus... :D

2.
+ -
19.11.2008 08:11:45

(1) А какая разница, какая мобила? Ком-порт - он и в африке ком-порт.

3.
+ -
19.11.2008 09:11:05

ДУмаю, может накатать обработочку. Выбираешь из текстового файла список абонентов.
Галочками отмечаешь нужных.
Выбираешь файл шаблонов смсок. Из файла выбираешь нужный текст сообщения.
В тексте может быть слово $name, оно автоматически заменяется на имя абонента, чтобы смски были персонифицированными.
Имена идут третьей колонкой в файле списка абонентов. Причем имена идут через запятую. Например: Маша, Машенька, Машулька, Машка, Машонок
Получается, что каждый раз абоненту приходит персонифицированная смска. Причем имена все время разные.

4.
+ -
19.11.2008 10:11:59

Прикольно! Сам написал на основе этой же программы полгода назад. Массовую рассылку сделал на основе анализа лога, сделал подсчет количества символов в SMS - для определения на сколько SMS для каждого оператора разобьется текущая. Еще есть добавление номеров из справочника сотрудники, создание списка для рассылки, вывод в сообщение об успешности доставки (лог смотрю), перекодировка в латиницу (для уменьшения количество частей, на кот. SMS разбивается), ну и ... больше ничего не придумал для своих нужд - сотрудникам рассылаю сообщения, оповещения и проч.

5.
+ -
19.11.2008 10:11:23

(4) выкладывай!

6.
+ -
19.11.2008 10:11:23

(4) с обязательным примером аффтора топа: "Маша, Машенька, Машулька, Машка, Машонок"

7.
+ -
19.11.2008 16:11:21

2(0) Не забудь оповестить всех, когда научишься пользоваться поиском по порталу.

9.
+ -
19.11.2008 17:11:54

(8) Я ее видел, что дальше?
Ты чуствуешь разницу между DLL и EXE файлов. EXE не надо регистрировать, как минимум, что актуально.
Кроме того, по-моему у автора демо-версия. ;-)
Ну и до кучи - чем больше альтернатив, тем лучше.
У Доможирова опций больше. Судя по тому, что там перечислено в опциях, программа Доможирова более продвинута.
Может и не так удобна, как ВК, но ВК опять же надо регить.

10.
+ -
19.11.2008 20:11:54

Я думаю, что это http://infostart.ru/projects/2924/ по функционалу лучше. Потому этот блог можно удалять.

11.
+ -
19.11.2008 21:11:25

(10) Это чисто твое субъективное мнение. Все таки надо отличать платформу и конфигурацию (надстройку над платформой) друг от друга. Не будем допускать политической близорукости!

12.
+ -
19.11.2008 21:11:32

(11) А где платформа?

Для добавления комментария необходимо зарегистрироваться.
Есть вопросы?
тел. (812) 309-06-46
support@infostart.ru
Обратная связь
Логин :
Пароль :
Забыли пароль?

Статистика

Пользователей: 43876

См. также