Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  frox
  SARG
  samba & ClamAV
  named
  proftpd
  cacti
  SAMBA+AD+NT ACL
  MySQL
  hylafax
  DDNS+DHCP
  cvsupd
  Samba как PDC
  Основы LDAP
  LDAP+SSL
  LDAP auth
  knockd
  rsync
  MRTG
  Rejik
  Jabber - OpenFire
  Samba(PDC) + Ldap
  squid+AD
  ATSlog
  vsftpd
  LDAP: samba, dns, dhcp
  Free-SA
  cups-samba на samba+AD
  irc + services
  Nagios - мониторинг сети
  TeamSpeak
  icecast2
  verlihub (p2p)
  Icecast2 + Darkice
  OOPS
  vsftpd + mysql
  Amanda
  HAVP
  Рыбалка на FreeBSD
  DNS сервер NSD
  DNS сервер Unbound
  mpd5, msmtp, dynamic ip
  ProFTPd + LDAP
  OpenVPN + LDAP
  Samba (PDC+BDC)
  BIND & AD
  POWERDNS
  3proxy
  eGroupWare
  GLPI
  SugarForge CRM
  Bacula
  Mysql - базовое описание
  Asterisk IP PBX
  Samba & CUPS & AD & ACL
  SMSTools 3
  Samba+ NT ACL
  phpmyadmin
  1С:Предприятие 8.1
  PurefFTPd
  qemu network
  AimSniff
  comms/scmxx
  Zoneminder
  Openfire Jabber Server
  Zoneminder 2
  Принт-Сервер Samba+LPD & AD
  Кластер OpenLDAP 2.4
  Lightsquid
  Установка Zabbix-1.6
  Установка net2ftp
  VSFTPD + AD && MySQL
  Network UPS Tools
  mpd5 L2TP client
  Apache 2.2 as a proxy
  ejabberd+mysql+icq
  HotSpot
  Установка и использование Zenoss на FreeBSD 7.2
  mysql-proxy
  DNS zones
  squid+sams+sqstat
  transmission-daemon
  Squid+AD (group access)
  SysAid Server
  MySQL Master+Master
  proftpd file auth&quota
  usb_modeswitch
  NSDadmin
  iperf Тест скорости между хостами
  Простой факс-сервер mgetty+sendfax
  SQUID-MultiCpuSystem
  vsftpd + system users
  Syslog server
  Температура в серверной
  Nagios+Digitemp
  Avast! FreeBSD
  Настройка git+gitosis
  Firefox SyncServer
  Scan+Print server FreeBSD 9
  proftpd,pgsql,web
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> программы —> comms/scmxx

smsgate с помощью scmxx

Автор: kmb.


Задача с помощью GSM-модема Siemens MC35i настроить sms-шлюз.
В случае чего человек отправляет письмо на определенный почтовый ящик например sms@host.org,
после чего определенным людям приходит sms.

Подключаем модем, через COM-порт. FreeBSD остальное сделает за нас :)

#uname -a
FreeBSD 7.0-RELEASE

Смотрим:
# ls /dev/

Видим:
cuad0
cuad0.init
cuad0.lock

Радуемся. :)
Находим нужный софт:
# cd /usr/ports
/usr/ports# make search name=scmxx
Port:   gscmxx-0.4.1_4
Path:   /usr/ports/comms/gscmxx
Info:   A graphical frontend for scmxx
Maint:  svmohr@rm6.net
B-deps: [CUT]
WWW:    http://gscmxx.sourceforge.net/

Port:   scmxx-0.9.0_1
Path:   /usr/ports/comms/scmxx
Info:   Data exchange utility for Siemens mobile phones
Maint:  janos.mohacsi@bsd.hu
B-deps: gettext-0.17_1 gmake-3.81_3 libiconv-1.11_1
R-deps: gettext-0.17_1 libiconv-1.11_1
WWW:    http://www.hendrik-sattler.de/scmxx/

Графиков на сервере нету, выбираем scmxx-0.9.0_1. %)
/usr/ports# cd /usr/ports/comms/scmxx

Без каких либо настроек:
/usr/ports/comms/scmxx# make install clean
/usr/ports/comms/scmxx# cd /usr/local
/usr/local# mkdir sms
/usr/local# cd sms
/usr/local/sms# touch sms.sh
/usr/local/sms# touch smsget.sh
/usr/local/sms# touch smssend.sh
/usr/local/sms# touch sms.txt

Русский ман по scmxx, можно найти тут.

Содержимое самих скриптов.
sms.sh:
#!/bin/sh
# Запуск скрипта получения только сообщения 
# из файла почты и сохранения его в отдельный файл
/usr/local/sms/smsget.sh /var/mail/sms > /usr/local/sms/sms.txt
# Если файл не имеет нулевого размера, запускаем скрипт отправки SMS
if [ -s /usr/local/sms/sms.txt ]; then 
/usr/local/sms/smssend.sh
# Обнуляем и почту и текст, который уже был отправлен
/dev/null/> /usr/local/sms/sms.txt
/dev/null/> /var/mail/sms
fi
# Нужно реализовать коды обработки, 
# на тот случай если модем "откажется" отправлять сообщение

smsget.sh:
#!/bin/sh
# Удаление заголовков из электронных писем и новостей,
# т.е. до первой пустой строки
if [ $# -eq 0 ]; then
# ==> Если входной аргумент не задан (файл), то выводить результат на stdin.
sed -e '1,/^$/d' -e '/^[        ]*$/d'
# --> Удалить пустые строки и все строки предшествующие им
else
# ==> Если аргумент командной строки задан,
# то использовать его как имя файла.
for i do
sed -e '1,/^$/d' -e '/^[        ]*$/d' $i
done
fi

smssend.sh:
#!/bin/sh
# Name
/usr/local/bin/scmxx --device /dev/cuad0 --baud 9600 \ 
--reset --system-charset koi8-r --unicode --send --sms --direct \ 
--number=+7xxxxxxxxx --send /usr/local/sms/sms.txt

Если у вас будут различные приписки в конце sms, то можно видоизменить последнюю часть:

--send /usr/local/sms/sms.txt

на

--text "`cat /usr/local/sms/sms.txt`"

Возможно у вас будет /dev/cuadN, тогда исправляем на то что нужно.

Добавляем или исправляем /etc/rc.conf:
sendmail_enable="YES"

                       
Смотрим имя машины:
# hostname
ns2.host.org

Прописываем на почтовом сервере, что используется у сотрудников, в файле hosts, либо добавляем запись в ДНС:
ns2.host.org IP_smsgate

Закидываем в /etc/crontab(выполняется каждые 5 минут)
*/5     *       *       *       *       root    /usr/local/sms/sms.sh

Не забываем, рестартовать cron.
Впринципе всё. :)
Да, пользователя добавляем.
# adduser
Username: sms
Full name: sms
Uid (Leave empty for default):
Login group [sms]:
Login group is sms. Invite sms into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/sms]: /dev/null
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : sms
Password   : *****
Full Name  : sms
Uid        : 1002
Class      :
Groups     : sms
Home       : /dev/null
Shell      : /bin/sh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (sms) to the user database.
Add another user? (yes/no): no
Goodbye!

p.s. В отправляемых письмах лучше отключать Content-Transfer-Encoding: quoted-printable в The Bat по дефолту стоит, переключить на "Без кодирования". Текст отправляемого сообщения должен быть в KOI8-R.
(c) Observer.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=14&t=14340.

размещено: 2009-01-15,
последнее обновление: 2009-01-20,
автор: kmb

оценить статью:

Le1, 2009-01-27 в 14:01:27

Отличная темя, интересная статья, спасибо автору.

Shurup, 2009-01-27 в 20:06:08

брикольно получилось, осталось сделать как через icq смски отправлять

Aero, 2011-01-14 в 12:21:58

Shurup, интересно придумал через аську, а есть тузлы ?


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 21 чел.
За последние 30 мин было: 65 человек
За сегодня было
3411 показов,
725 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0978 секунд
Из них PHP: 65%; SQL: 35%; Число SQL-запросов: 86 шт.
Исходный размер: 148067; Сжатая: 22097