Блог им. Tyam

Открытая микро библиотека с бесплатной СМС рассылкой

    Всем привет!
 
    Уже несколько лет слышу, что у многих, в составе торгового робота есть СМС рассылка.
    Это создаёт несколько положительных моментов, от неустанного контроля позиции и оперативного получения сигналов, до спокойной, без нервотрёпки, возможности выйти из дома, во время сессии.
 
    Некоторое время назад реализовал у себя в платформе эту возможность, и вот теперь хочу ею поделиться с начинающими программистами. Надеюсь пригодится.
 
    Представляю OpenSource микро библиотеку для отправки СМС и электронных писем. Язык реализации C#.
 
    Архив http://sib-algo.ru/?wpdmact=process&did=Mi5ob3RsaW5r
    Или со страницы:http://sib-algo.ru/?p=106
 
    Что в архиве:
  1. Библиотека
  2. Исходники библиотеки
  3. Исходник примера использования
  4. Этот пост вместо инструкции
  5. Открытая лицензия
 
    Для использования в своём проекте надо скинуть в корень проекта библиотеку и добавить в ссылки проекта:


 Открытая микро библиотека с бесплатной СМС рассылкой
 
 
 
     Прежде чем отправлять СМС и письма нужно настроить соответствующие сервера рассылок.
 
Делается это вызовами:
  SmsEngine.MailServer.ShowSettingsDialog();
и
 SmsEngine.SmsServer.ShowSettingsDialog();
из любой части кода.
При вызове настроек Mail сервера рассылок появиться меню:
 
 Открытая микро библиотека с бесплатной СМС рассылкой
 
    Необходимо заполнить соответствующие поля. Поле адресаты может содержать тот же адрес что и отправитель. После нажатия кнопки «Принять» библиотека создаст себе директорию Engine в корне проекта, для хранения настроек и всё сохранит. Каждый раз ничего настраивать не надо. Можно также отключить рассылку соответствующим checkBox, если вдруг рассылка пока не нужна.
    При вызове настроек SMS сервера появиться меню:
 Открытая микро библиотека с бесплатной СМС рассылкой
 
    Также надо ввести все данные. Библиотека всё сохранит.
    После этого можно посылать СМС и письма из любой части проекта, вот так:
SmsEngine.SmsServer.SendSMS(«письмо»);
SmsEngine.MailServer.SendLetter(«письмо»);
    Вызовы асинхронные. Никого не задерживают. Потоки на отправку стоят в очереди. Если во время отсылки сообщения есть ошибка выпрыгивает окошко с её спецификацией.
 
Как работает почта:
    Стандартная рассылка почты C#. Строки доступа нашёл для гугл и яндекс почтовиков, поэтому работает только от этих почтовых серверов.
 
Как работет СМС рассылка:
    С этим сложнее. Никаких стандартных, простых и бесплатных штук для отправки СМС я не нашёл. Поэтому пришлось использовать гугл аккаунт и его календарь в качестве сервера рассылок.
    Для календаря гугл формируется письмо якобы с напоминанием о некоем событии. Событие прописывается в календарь. И затем, происходит оповещение владельца аккаунта об этом «событии» на телефон.
    Поэтому можно наблюдать пакеты с сообщениями от робота, прямо у себя в календаре, аккаунта гугл.
    Единственная возможная проблема это синхронизация времени на ПК и в самом календаре. Проблемы возникают если в календаре и на ПК разное время, разные часовые пояса и разное представление о смене времени с зимнего на летнее. И за этим невозможно проследить программно. 
    Подробнее о настройке Гугл аккаунта и его синхронизации с ПК в архиве.
 
    Идея взята из этой записи: smart-lab.ru/company/rusalgo/blog/132960.php
    На боевых системах у меня стоит несколько другая версия рассылки, т.ч. если в этой что-то не так, пишите, поправлю.
    Логика отправки Смс находится в SmsThreadSaveSender.cs, логика отправки Почты в MailThreadSaveSender.cs. Всё остальное сервис. Т.ч. не обязательно кидать в меня тухлыми яйцами, если что-то не понятно или не нравиться. Берём логику отправки и делаем всё по своему.
365 | ★30
20 комментариев
вот так и расползаются баги
avatar
Имхо, бесполезная библиотека.
Отправка писем ищется в гугле за минуту.
Отправки смс фактически нет.
Тащить в свою программу непонятную библиотеку смысла нет никакого.
Ну и задачу «до спокойной, без нервотрёпки, возможности выйти из дома» такая библиотека сама по себе решить не может. Т.к. есть и другие причнины, из-за которых может нарушиться стабильное функционирование торгующего робота. Задача эта сложная и комплексная.
avatar
professor facepalm,
1) Отправка СМС есть и работает.
2) Да и код весь открыт. Не хочешь, не тащи. Возьми что надо и сделай как хочешь.
3)…
Через USB модем 3g отправка смс делается гораздо проще.одна командная строка в cmd.exe. если интересно, в моих постах я это описывал.
avatar
Идущий по воде, пересмотрел 35 страниц заголовков Ваших постов, пока не нашел. Гугл по словам sms, cmd, 3g, ognevoy с уточнением site:smart-lab.ru тоже не помогает. Если не трудно, дайте, пожалуйста, прямую ссылку)
avatar
Lafert, Идущий по воде, smart-lab.ru/blog/25846.php#comments
smart-lab.ru/blog/30381.php
smart-lab.ru/blog/146267.php
smart-lab.ru/blog/146267.php
smart-lab.ru/blog/146267.php
tinyurl.com/p4qawnz
www.itinvest.ru/software/comp/smartx/alerts/
smart-lab.ru/blog/30381.php
smart-lab.ru/blog/25846.php#comments
по программе smslite есть хепл у них на сайте. если не найдете, могу выслать на email

astrader.ru не работает в выходные. в обычн дни работает
avatar
спасибо, а можно пару слов о опыте работы с такой рассылкой смс?

Сколько времени в среднем проходит между отправкой и получением
Какое максимальное время между отправкой и получением
Сколько надо смсок отправить в день, что бы исчерпать дневной лимит гугла
avatar
Lafert,
Времени проходит от 5 секунд до 30.
У меня ни разу не получилось исчерпать лимит, если он есть.
Алексей Ван, а сколько было смсок максимум в день?
avatar
Lafert, не больше 50 шт. у меня.

Интересный вопрос конечно)) Замучать сервис, чтобы он отрубил рассылку. Надо попробовать…
Автор молодец. Немного добавлю об ограничениях с которыми можете столкнутся. 1) Google Calendar. Ограничение — если отправите 10 смс подряд(1 минута) вас забанят на день, где то.
2. Если робот начнет сыпать ошибки и создавать события в календаре, события могут exeption выдать, если создаете в одно время допустим несколько сразу 2) Еще есть сервис sms.ru. Там тоже открытое api простое и бесплатно можно отправлять до 60 смс в день. Теперь об бесплатных ограничениях. Допустим часов в 10 если создать несколько событий или отправить несколько смс, то большая вероятность что пару недойдет. Либо будет лаг минут в 10. После 19 например такой проблемы нет. Т.к. и гугл и смс.ру используют так называемые неименнованные каналы, т.е. бесплатные или дешевые. Если для кого-то нужна именно 100% точность в виде смс, то рекомендую использовать платные сервисы именнованные каналы или типо того… Google calendar интересно использовать как удаленный журнал робота или журнал о сбоях робота. В общем как то так
avatar
Я у себя тоже думал насчет СМС. Но все-таки решил остановиться только на электронной почте. Во-первых, смс в остальной куче спама можно пропустить. Во-вторых, бесплатные сервисы имеют кучи ограничений, а делать костыли на Гугл календаре не хочется. В итоге завел отдельный ящик для робота, установил почтовую программу на телефон и письма доставляются мгновенно.

В любом случае, смс и почта не позволят отреагировать на ошибку, а только узнать о ней. Для обратной связи нужно реализовать веб-интерфейс у робота.
avatar
Станислав Дорошин, зачем нужен веб интерфейс если можно присоединиться к рабочему столу? В качестве фронтенда для роботов (включить отключить выставить лимиты) ексель очень удобен, особенно когда много счетов/терминалов и роботов/систем.
avatar
quant_trader, в принципе, да, для полного контроля все-таки лучше подключаться к рабочему столу. Веб-интерфейс скорее подойдет для постоянного доступа к детальной информации о работе — видеть графики, параметры и т.п. Постоянно можно посмотреть статус, в то время как почта будет поступать только с некоторой периодичностью.
avatar
Открытая микро библиотека с бесплатной СМС рассылкой

Думал библиотека с трейдерскими книжками и рассылкой новинок по СМС. А тут опять про роботоф :(
avatar
Идущий по воде, спасибо
avatar
спасибо, парни, пишите еще! тема устойчивости работоспособности роботов актуальна, а инфы не много
avatar

Читайте на SMART-LAB:
Фото
🧠 Ресейл и поколение Z: почему молодёжь выбирает разумное потребление
📱 Поколение Z относится к потреблению прагматичнее, чем остальные. Для них важны не громкие слова и статус, а понятная ценность покупки —...
5 идей в российских акциях. Индекс МосБиржи снова на грани 2700
Индекс МосБиржи опять торгуется на грани значимого уровня 2700 п. Сейчас не исключен очередной отскок от указанного уровня. Кроме того, рынок...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 13 января 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога Алексей Ван <o-s-a.net>

....все тэги



UPDONW
Новый дизайн