Август 27th, 2014

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

, Open Source, by Алексей Ван.

Всем привет!

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

Некоторое время назад реализовал у себя в платформе эту возможность, и вот теперь хочу её поделиться с начинающими программистами. Надеюсь пригодится.

Представляю OpenSource микро библиотеку для отправки СМС и электронных писем.

Берите, пользуйтесь.

Качаем по ссылке:

 

Что в архиве:

  1. Библиотека
  2. Исходники библиотеки
  3. Исходник примера использования
  4. Этот пост вместо инструкции
  5. Открытая лицензия

    Для использования в своём проекте надо добавить библиотеку в ссылки проекта:

ссылки проекта

Прежде чем отправлять СМС и письма нужно настроить соответствующие сервера рассылок.

Делается это вызовами:

SmsEngine.MailServer.ShowSettingsDialog();

и

SmsEngine.SmsServer.ShowSettingsDialog();

из любой части кода.

 

При вызове настроек Mail сервера рассылок появиться меню:

 

почта

 

Необходимо заполнить соответствующие поля. Поле адресаты может содержать тот же адрес что и отправитель. После нажатия кнопки «Принять» библиотека создаст себе директорию Engine в корне проекта, для хранения настроек и всё сохранит. Каждый раз ничего настраивать не надо. Можно также отключить рассылку соответствующим checkBox, если вдруг рассылка пока не нужна.

 

При вызове настроек SMS сервера появиться меню:

Смс

Также ввести все данные. Библиотека всё сохранит.

После этого можно посылать СМС и письма из любой части проекта, вот так:

SmsEngine.SmsServer.SendSMS(«письмо»);

SmsEngine.MailServer.SendLetter(«письмо»);

Вызовы асинхронные. Никого не задерживают. Потоки на отправку стоят в очереди. Если во время отсылки сообщения есть ошибка выпрыгивает окошко с её спецификацией.

 

Как работает почта:

Стандартная рассылка почты C#. Строки доступа нашёл для гугл и яндекс почтовиков, поэтому работает пока только от этих почтовых серверов.

 

Как работет СМС рассылка:

С этим сложнее. Никаких стандартных, простых и бесплатных штук для отправки СМС я не нашёл. Поэтому пришлось использовать гугл аккаунт и его календарь в качестве сервера рассылок.

Для календаря гугл формируется письмо якобы с напоминанием о некоем событии. Событие прописывается в календарь. И затем, происходит оповещение владельца аккаунта об этом «событии» на телефон.

Поэтому можно наблюдать пакеты с сообщениями от робота, прямо у себя в календаре, аккаунта гугл.

Единственная возможная проблема это синхронизация времени на ПК и в самом календаре. Проблемы возникают если в календаре и на ПК разное время, разные часовые пояса и разное представление о смене времени с зимнего на летнее. И за этим невозможно проследить программно. Создание аккаунта и решение возможных проблем описано в инструкции что в архиве.

 

Идея Смс отправки взята из этой записи: http://smart-lab.ru/company/rusalgo/blog/132960.php

На боевых системах у меня стоит несколько другая версия рассылки, т.ч. если в этой что-то не так, пишите, поправлю.

Логика отправки Смс находится в SmsThreadSaveSender.cs, логика отправки Почты в MailThreadSaveSender.cs . Всё остальное сервис. Т.ч. не обязательно кидать в меня тухлыми яйцами, если что-то не понятно или не нравиться. Берём логику отправки и делаем всё по своему.

Back Top

Comments are closed.