IE2017

SMS рассылка из 1С

Обмен - SMS рассылки

Три простых способа отправить SMS из 1С

1. USB 3G-модем

При наличии USB 3G-модема для отправки SMS можно использовать внешнее приложение с поддержкой командной строки.

Тестировал отправку SMS сообщений со следующими приложениями:
- Microsoft SMS Sender (http://www.microsoft.com/ru-ru/download/details.aspx?id=5552)
- cmd2SMS (http://vd-soft.biz/products/CMD2SMS.htm)

В этом случае отправка SMS сообщения сводится к программному созданию и запуску пакетного или командного файла (.bat, .cmd) или скрипта (.vbs), в котором производится запуск внешнего приложения с нужными ключами, с указанием номера телефона получателя и текста сообщения.

Пример bat-файла для отправки сообщения через приложение SMS Sender:

cd "C:\Program Files (x86)\Microsoft SMS Sender\" 
smssender.exe /p:81234567890 /m:"тестовое сообщение" /u /l

Пример программного создания и запуска bat-файла:

ИмяФайла = ПолучитьИмяВременногоФайла(".bat");
Bat_Файл = Новый ЗаписьТекста (ИмяФайла, КодировкаТекста.OEM);
Bat_Файл.ЗаписатьСтроку("cd ""C:\Program Files (x86)\Microsoft SMS Sender\""");
Bat_Файл.ЗаписатьСтроку("smssender.exe /p:" +Телефон+ " /m:""" +ТекстСообщения+ """ /u /l"); 
Bat_Файл.Закрыть();
ЗапуститьПриложение(ИмяФайла);


2. Андроид смартфон

При необходимости организации SMS рассылки через имеющийся телефон (смартфон) на OS Android можно использовать функционал консольного приложения Android Debug Bridge (ADB)

Нужный дистрибутив android-sdk можно взять здесь (http://developer.android.com/sdk/index.html).

В данном случае, отправка SMS сообщения сводится к выполнению команды оболочки андроид-устройства.
При этом SMS сообщения будут формироваться непосредственно в самом телефоне.

Пример:

//---- создаем BAT-файл для Android Debug Bridge
ИмяФайла = ПолучитьИмяВременногоФайла(".bat");
Bat_Файл = Новый ЗаписьТекста (ИмяФайла, КодировкаТекста.Системная);
Bat_Файл.ЗаписатьСтроку("cd C:\ADB\platform-tools\");
Bat_Файл.ЗаписатьСтроку("adb.exe shell am start -a android.intent.action.SENDTO -d sms:" +Телефон+ " --es sms_body " +ТекстСообщения+ " --ez exit_on_sent true");
Bat_Файл.ЗаписатьСтроку("adb.exe shell sleep 1");
Bat_Файл.ЗаписатьСтроку("adb.exe shell input keyevent 22");
Bat_Файл.ЗаписатьСтроку("adb.exe shell sleep 1");
Bat_Файл.ЗаписатьСтроку("adb.exe shell input keyevent 66");
Bat_Файл.Закрыть();
//---- запускаем BAT-файл
ЗапуститьПриложение(ИмяФайла);

3. Отправка SMS через SMTP

Организации, имеющие корпоративную сотовую связь, могут воспользоваться SMS сервисом своего провайдера связи.

Тестировал функцию отправки сообщений через SMTP протокол SMS-сервиса Билайна:
- подробнее о сервисе - здесь (http://beeline.amega-inform.ru - демо доступ)
- о протоколе отправки через SMTP (http://beeline.amega-inform.ru/support/protocol_smtp.php)

Провайдер предоставляет вам логин и пароль к вашему SMS-сервису. Дальше, для отправки SMS сообщения вам достаточно отправить сообщение электронной почты с нужными реквизитами, с указанием номера телефона получателя и текста SMS сообщения.
При этом в качестве имени отправителя можно использовать короткий номер, обычный номер или псевдоним (наименование отправителя).


Пример отправки SMS:

// профиль почты
Профиль = Новый ИнтернетПочтовыйПрофиль; 
Профиль.АдресСервераSMTP = "beeline.amega-inform.ru"; 
Профиль.ПортSMTP = 256; 
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Профиль.ПользовательSMTP = "логин"; 
Профиль.ПарольSMTP = "пароль";

// создать сообщение 
Сообщение = Новый ИнтернетПочтовоеСообщение; 
Сообщение.ИмяОтправителя = "Псевдоним";
Сообщение.Получатели.Добавить(Телефон + "@sms.beeline.amega-inform.ru");
Сообщение.Отправитель.Адрес = "Псевдоним@domain"; 
Сообщение.Тема = ""; 
Сообщение.Тексты.Добавить(ТекстСообщения);

// подключить профиль
Почта = Новый ИнтернетПочта;
Попытка
 Почта.Подключиться(Профиль);
Исключение
 Предупреждение (ОписаниеОшибки());
КонецПопытки;

// отправить почту
Попытка
 Почта.Послать(Сообщение); 
 Почта.Отключиться();
Исключение
 Предупреждение (ОписаниеОшибки());
КонецПопытки;

См. также

Комментарии
1. Илья Коротков (molodoi1sneg) 13 20.11.14 13:24 Сейчас в теме
Спасибо, взял на заметку.
2. Айрат Саттаров (kwazi) 177 20.11.14 15:22 Сейчас в теме
3. Дмитрий Шиндориков (sdn-1) 119 20.11.14 15:30 Сейчас в теме
(2) kwazi, ок, спасибо за информацию, посмотрю обязательно
4. Айрат Саттаров (kwazi) 177 20.11.14 15:32 Сейчас в теме
тот же Билайн проще пост запросом отправлять чем через почту.
5. Alex Steiner (OrsoBear) 21.11.14 11:38 Сейчас в теме
При объеме рассылки 100000 смс в месяц справится ли модем.
Иногда массово рассылаю задания по сотрудникам.
Недавно появилась заморочка, у Мегафона проходят смс, отправленные только через их пулл. (для третьего способа)

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

6. VVV Vit (V_V_V) 22.11.14 23:30 Сейчас в теме
Плотно использую специализированный сервис рассылки, ввиду смешных цен и дружелюбного API, но для альтернативных вариантов статья вполне годная. Спасибо автору за проделанную работу.
chizh.84; SinglCOOLer; gradi; +3 Ответить 1
7. makaorel 54 26.11.14 10:54 Сейчас в теме
отличная идея, спасибо автору
8. Максим Сафонов (maXon777) 94 26.11.14 12:41 Сейчас в теме
(6) V_V_V, а подскажите сервис, если не сложно!
9. Артём Андриянов (CSiER) 26.11.14 14:43 Сейчас в теме
Ещё как подпункт для первого способа - установить в сети модем с web API (например, модель "Huawei - E303") - отправка смс / получение статистики через post/get.
10. Андрей Данилюк (DanilaDru) 235 27.11.14 11:52 Сейчас в теме
(8) maXon777, к примеру мы используем http://danila.sms.ru/ (реферальная)
11. delete (delete) 201 27.11.14 18:56 Сейчас в теме
Неплохая статья)
Жаль, что рассмотрена только отправка, без чтения.
Не знаю как сейчас, раньше для отправки по smtp требовалось включить опцию получения таких сообщений на целевом номере (как способ защиты от спама)
12. Олег (agressor) 117 28.11.14 09:45 Сейчас в теме
13. Максим *** (premier) 136 28.11.14 10:30 Сейчас в теме
Есть ещё способ отправки СМС через оператора сотовой связи посредством GSM модема.
Посмотреть можно здесь: http://infostart.ru/public/84802/
14. Рамиль Баширов (bashirov.rs) 14 01.12.14 07:47 Сейчас в теме
Интересная статейка. Беру на заметку. Спасибо за код)
16. я я (mazahaka29) 10.12.14 13:11 Сейчас в теме
а можно это сделать через сайт? (в интернете ведь есть много сайтов для бесплатного СМС)
17. Дмитрий Шиндориков (sdn-1) 119 10.12.14 13:32 Сейчас в теме
(16) mazahaka29, можно - есть готовые решения на инфостарте:
http://infostart.ru/public/169628/
http://infostart.ru/public/187886/
19. Григорьев Анатолий (ToJIuK) 04.01.15 13:14 Сейчас в теме
Здравствуйте. Попробовал второй способ отправки смс через Andriod 4.1.2 (Galaxy tab 2). но при попытке отсылки смс выходит ошибка(во вложении). с этой программой сталкиваюсь первый раз, кто нибудь победил данную задачу?
Отсылаю не через 1с, а из Сформированного вручную CMD файла.
Прикрепленные файлы:
20. Виталий Барилко (Diversus) 2281 10.02.15 15:10 Сейчас в теме
Все таки рассылка через смс через интернет шлюзы гораздо удобнее, чем описанный способ, если речь, конечно, идет о массовых рассылках.
Могу порекомендовать так же и свое решение:
Мульти рассылка СМС из 1С для типовых и не типовых конфигураций, на управляемых и обычных формах
22. Александр Крынецкий (echo77) 740 27.07.15 17:44 Сейчас в теме
У кого-нибудь патч для Microsoft SMS sender есть, который делает так, что окно после отправки сообщения не появляется и не висит?

UPD: только что сделал
23. Максим Литвинов (maksa2005) 94 04.10.15 10:15 Сейчас в теме
1. USB 3G-модем. САМЫЙ ДЕШЕВЫЙ СПОСОБ РЕАЛИЗАЦИИ.
Реализовал механизм на 1с:Розница (Авто).
Респект автору!
24. Максим Литвинов (maksa2005) 94 04.10.15 10:16 Сейчас в теме
(22) echo77, Этот не виснет.
Прикрепленные файлы:
SMSSender.exe
25. Лёша Авто (Lesha1C) 232 19.10.15 16:38 Сейчас в теме
если делать отправку через SMTP получается актуально только для версии 8.3 так как ssl в 8.2 не поддерживается?
26. Дмитрий Голованов (flesh611) 09.12.15 15:20 Сейчас в теме
Подскажите, как можно получить статус сообщения при отправке по SMTP через Билайн? В описании сказано, что это возможно с помощью STATUS <smsid>, а где вызвать этот статус не понятно
27. Пользователь (user631161_rollerdrom18) 28.10.16 09:52 Сейчас в теме
28. Валерий Низиков (Nizikov) 12.12.16 22:36 Сейчас в теме
(19) Анатолий, у Вас пробел перед номером лишний, вообще беда в том, что текст сообщения не терпит пробелов, никак не могу победить это, кавычки не помогают.
29. Виталий Барилко (Diversus) 2281 31.01.17 11:58 Сейчас в теме
Не знаю, не знаю... Лучше использовать специальные сервисы по отправке смс.
Так будет и быстрее гораздо и эффективней.
Мы сделали такой инструмент Мульти рассылка СМС из 1С поддерживает кучу всего среди которых можно выбрать.
Оставьте свое сообщение