Mi serviva uno script per scuola per spedire sms da linea di comando e' cosi' ho fatto questo script.
Lo script pensera' lui a dividere il messaggio in piu' messaggi se supera i 160 caratteri
Di cosa avete bisogno
Purtroppo questo script si basa su un account mail che abbia un sms server, questo esiste per quasi tutte le universita' in svizzera sponsorizzato dalla switch. Inoltre si appoggia sui programmi msmtp e nail.
Installazione
Per prima cosa installiamo e configuriamo nail e msmtp.
Smascheriamo msmtp e lo installiamo
Code: Select all
# echo "mail-mta/msmtp" >> /etc/portage/package.keywords
# emerge msmtpCode: Select all
account default
host mail.doveviconnettete.it
from nick@qualcosa.it
auth login
user nick@qualcosa.it
password xxxxxCode: Select all
# emerge nailCode: Select all
set smtp=localhost // o si rimuove o si commentaCode: Select all
set sendmail=/usr/bin/msmtpCode: Select all
#!/bin/sh
function usage {
echo "Usage: sendsms <telephone number> <\"message\">"
echo "Note: use \n for new line"
exit 1
}
[ "${1}" = "-h" ] && usage
[ -z "${1}" ] && usage
[ -z "${2}" ] && usage
# calcola la lunghezza del account mail
FROM_LENG=`cat ~/.msmtprc | grep from | awk '{print $2}' | wc -c`
# lunghezza del messaggio sms
SMS_LENG=`echo -e $2 | wc -c`
let TOT_LENG=SMS_LENG+FROM_LENG
SEVICE_SMS='sms.switch.ch'
SMS=`echo -e $2`
# fintanto che il messaggio e' piu' lungo di 160
# char fai il loop
while [ $TOT_LENG -gt 160 ]
do
# lunghezza massima del sms
let LENG=160-FROM_LENG
#echo "`echo -e ${SMS} | head -c ${LENG}`"
# spedisci i primi LENG caratteri per sms
echo "`echo -e ${SMS} | head -c ${LENG}`" |nail -s " " ${1}@${SEVICE_SMS}
# setta la nuova lunghezza del sms e il nuovo contenuto
let SMS_LENG=SMS_LENG-LENG
SMS=`echo ${SMS} | tail -c ${SMS_LENG}`
let TOT_LENG=SMS_LENG+FROM_LENG
done
#echo -e "${SMS}"
echo -e "${SMS}" |nail -s " " ${1}@${SEVICE_SMS}Come usarlo
Per usare il programma e' semplicissimo basta che si lancia nel seguente modo
Code: Select all
$ sendsms numero "messaggio da spedire"PS: spero che a qualcuno servira' anche se biosogna avere un account mail che dia anche il servizio per gli sms







