Версия 2.4.5 или А можно ли ограничение на количество смс?05 Окт
В частной переписке с одним из новых пользователей программы SimpleSMS возник вопрос - а можно ли сделать так, чтобы программа считала сколько смс отправлено и когда отправит нужное количество смс, то больше не отправляла смс?
Суть в том, что есть такое понятие, как пакеты смс, которые можно активировать у оператора сотовой связи. И тогда стоимость смс дешевле, чем при отправке в обычном режиме. А когда смс в пакете заканчиваются, то стоимость смс становится уже обычной. И у данного пользователя программы (его зовут Виктор), ситуация, когда в пакете смс 4500 штук смс. Т.е. задача практического плана - задаем программе максимум смс которое она должна отправить, задаем начальное значение счетчика отправленных смс и пусть программа сама уже контролирует процесс. И важно то, что программа между отдельными ее запусками должна “помнить” сколько смс уже было отправлено. Т.е. мы же можем запустить программу отправив 100 смс, а на следующий день снова запустить программу и отправить 500 смс. Т.е. в сумме отправлено уже 600 смс. И программа должна вовремя остановиться, чтобы не выйти за рамки пакета смс. А когда программа отправит это максимальное количество смс, то рассылка остановится. И Виктор снова подключит смс-пакет.
И на основе этого предложения были внесены дополнения в программу и вышла новая версия программы отправки смс.
Итак, как это работает.
Появился новый параметр, который можно указать в командной строке:
LimCnt=МаксКолвоСмс,НачЗначениеСчетчика
где:
МаксКолвоСмс - максимальное количество смс, которое должна отправить программа
НачЗначениеСчетчика - начальное значение счетчика отправленных смс. Это необязательный параметр. Он указывается один раз для того, чтобы программа обнулила счетчик отправленных смс - т.е. когда начнут отправляться первые смс из пакета.
Пример запуска:
1. SimpleSMS.exe msg=primer1.txt LimCnt=4500,0
2. SimpleSMS.exe msg=primer1.txt LimCnt=4500
3. SimpleSMS.exe msg=primer1.txt LimCnt=4500 verify
В первом примере мы запускаем программу первый раз для нового пакета смс.
Во втором примере мы уже не указываем значение начального счетчика смс, т.к. нам незачем помнить сколько смс уже было отправлено в рамках этого пакета смс за предыдущие запуски программы. Это помнит сама программа в ini-файле в секции [Other] параметр SmsCounter.
В третьем примере мы запускаем программу немного умнее и указываем параметр Verify, который указывает программе, что надо после каждой отправленной смс перезаписывать исходный файл с смс. Это нужно в тех случаях, когда лимит по смс закончится, а еще не все смс из файла отправлены, то не искать вручную где программа остановилась. Только примите во внимание, что в этом случае программа изменит расширение у исходного файла с txt на err (например, был файл primer1.txt , а станет primer1.err). Т.е. в этом err-файле будут все неотправленные смс. Вам нужно будет просто переименовать его снова в txt.
Остается рассказать про учет длинных (составных) смс. Стандартная длина для смс на русском это 70 символов, для “латиницы” 160. Если текст смс длиннее, то смс разбивается на части и отправляется отдельными смс, которые при получении на телефоне снова склеиваются в одну длинную смс. Т.е. для человека это незаметно. Но зато заметно сказывается на стоимости смс и операторы сотовой связи, как правило, берут деньги за каждую часть смс. В принципе это логично. Хотя так делают не все операторы. И чтобы нам (а вернее программе) не “пролететь” с подсчетом отправленных смс, Вы можете настроить вариант подсчета смс - либо за каждую часть смс, либо только за смс целиком. Делается это через ini-файл программы, в секции [Other] параметр SmsCounterType. Если SmsCounterType=0 (ноль), то считать каждую часть смс, а если SmsCounterType=1 , то считать составную смс как одну.
Остается приложить иллюстрацию к работе программы по примеру 3:
И на картинке Вы видите, что как раз был случай с отправкой длинных смс - вроде отправлено 2 смс, а на самом деле их было 3 (вторая смс была составной).
Скачать новую версию программы отправки смс SimpleSMS v.2.4.5
Спасибо за оперативность и качество - это то что надо было. Теперь кратко о работе с программой. Мой оператор - НТК предоставляет такую услугу - пакет в 4500 смс. Сначала отправляю команду *110# и узнаю - сколько у меня осталось смс. Потом пишу команду по примеру 3. SimpleSMS.exe msg=primer1.txt LimCnt=4235 verify и запускаю ее. В итоге получаю 3 файла.
primer1_err.log - в нем неотправленные смс
primer1_ok.log - в нем отправленные смс
primer1.err - в нем то что неотправилось.
Активирую у оператора новый пакет, переименовываю третий файл primer1.err в primer1.txt и запускаю программу дальше.
Виктор, спасибо огромное за обратную связь - людям полезно видеть такие именно практические примеры применения :)
не смог нигде найти информации о работе программы с юсб модемами. возможно ли отправлять и принимать смс таким образом?
Работает с модемами Huawei и ZTE MF626 (возможно и другие MF).http://profisms.ru/servernaya-chast-146-huawei-e1550-zte-mf626-2010-09/
Как выбрать сом-порт для этих модемов посмотрите на картинках