Smstools или прием и передача sms на сервере: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
imported>Vix Нет описания правки |
||
| Строка 58: | Строка 58: | ||
ex_index=$(($ex_index-1)); | ex_index=$(($ex_index-1)); | ||
done | done | ||
## delete all sms | ## delete all sms! - Attention! this option removes your SMS, if you configure script, comment out this command. | ||
rm -f $PATHSMS/* | ##rm -f $PATHSMS/* | ||
* скрипт ставим в crontab и дальше все происходит автоматически... | * скрипт ставим в crontab и дальше все происходит автоматически... | ||
Версия от 07:50, 9 марта 2016
Скрипт отправки 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";
## make 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 mesages
if [ ! "$(ls -x $PATHSMS)" ]
then
exit 0
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! - Attention! this option removes your SMS, if you configure script, comment out this command.
##rm -f $PATHSMS/*
- скрипт ставим в crontab и дальше все происходит автоматически...
