Smstools или прием и передача sms на сервере
Материал из support.qbpro.ru
Версия от 02:36, 9 марта 2016; imported>Vix
Скрипт отправки sms на заданный почтовый ящик:
#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAIL_FROM=smstools@myhost.ru MAIL_TO=admin@myhost.ru PATHSMS="/var/spool/sms/incoming"; LISTSMS=( `ls -x -c $PATHSMS` ); TEXT=; MESSAGE=; ## default agent mail, else mutt SENDER_AGENT="mail"; ## meka messages function makeMessage() { if sed -e '/^$/ q' < "$MESSAGE" | grep -q "^Alphabet: UCS2"; then TEXT="$(sed -e '/^$/ q' < "$MESSAGE" | sed -e 's/Alphabet: UCS2/Alphabet: UTF-8/g')"; TEXT="$(echo -e $TEXT"\n"$(sed -e '1,/^$/ d' < "$MESSAGE" | iconv -f UNICODEBIG -t UTF-8))"; else TEXT="$(sed -e '1,/^$/ d' < "$MESSAGE")"; fi NUM="$(echo $TEXT|grep -E '^From:'|sed -r 's/.*From_SMSC: //; s/S.*//')"; sendMessage } ## send messages function sendMessage() { if [ "$SENDER_AGENT" = "mail" ] then SUBJECT='Входящее SMS сообщение с номера:'$NUM TEXTBODY=$TEXT echo -e $TEXTBODY|mailx -a "Content-Type: text/plain; charset=UTF-8" -s "$SUBJECT" $MAIL_TO fi if [ "$SENDER_AGENT" = "mutt" ] then SUBJECT='Входящее SMS сообщение с номера:'$NUM TEXTBODY=$TEXT echo -e $TEXTBODY|mutt -s "$SUBJECT" $MAIL_TO fi } ## test enable sms mesagges if [ ! "$(ls -x $PATHSMS)" ] then echo "exit" fi ## executor ex_index=$((${#LISTSMS[@]}-1)); while [ $ex_index -gt -1 ] do MESSAGE="$PATHSMS"/"${LISTSMS[$ex_index]}"; makeMessage ex_index=$(($ex_index-1)); done ## delete all sms rm -f $PATHSMS/*
- скрипт ставим в crontab и дальше все происходит автоматически...