Программа cmd2phone позволяет отправлять SMS через любой телефон, который при
подключении к компьютеру через кабель, IRDA или BLUETOOTH создает модем на
свободном COM-порте.
Подключение к интернет не требуется. Управление через
командную строку и лог.
Автор: Валерий
Доможиров (d_valery@mail.ru)
Задался целью отправлять SMS через мобильный телефон,
подключенный к компьютеру.
Но все программы, которые я нашел на infostart, были либо демо-версиями, либо не
управляемыми.
Тогда я отправился на поиски в интернет, и нашел программу cmd2phone: http://myfreeware.narod.ru/products/cmd2phone.htm
Тестирование хотел провести на телефоне 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.
Обработка позволяет по заданному списку выполнять рассылку СМС.
При рассылке подставляется имя получателя, имя варьируется по словарю имен.
Поддерживаются два варианта рассылки – через Cmdphone (через COM-порт) и smsPPC (через ActiveSync для Windows Mobile).
Имя обработки в пакете «МассоваяОтправкаСМС.epf»
Ведется протокол рассылки.
Обработка подключается к Outlook, и получает списки контактов по категориям.
Эти списки потом можно использовать для массовой рассылки СМС.
Имя обработки в пакете «КонтактыИзАутлукДляРассылок.epf»