mail2sms.sh
上传用户:mei_mei897
上传日期:2007-01-05
资源大小:82k
文件大小:1k
源码类别:

手机短信编程

开发平台:

Unix_Linux

  1. #!/bin/sh 
  2. #
  3. # mail2sms a shell script
  4. # Matt Foster 
  5. # matt@molnir.demon.co.uk
  6. #
  7. # Mail to SMS gateway script, version 1.0
  8. # By Andy Hawkins (andy@gently.demon.co.uk)
  9. /usr/bin/cp /dev/null /tmp/header.$$
  10. ELINE=0
  11. while [ $ELINE -lt 3 ]
  12. do
  13.   read LINE
  14.   echo "$LINE" >> /tmp/header.$$
  15.   if [ "$LINE" = "" ]
  16.   then
  17.     ELINE=3
  18.   else
  19.     ELINE=0
  20.   fi
  21. done
  22. SENDER=`head -n 1 /tmp/header.$$ | awk '{print $2}'`
  23. TARGET=`grep ^Subject: /tmp/header.$$ | awk '{print $2}'`
  24. ELINE=0
  25. while [ $ELINE -lt 2 ]
  26. do
  27.   read LINE
  28.   echo "$LINE" >> /tmp/body.$$
  29.   if [ "$LINE" = "" ]
  30.   then
  31.     let ELINE=ELINE+1
  32.   else
  33.     ELINE=0
  34.   fi
  35. done
  36. RETRY=5
  37. SENT=0
  38. while [ $RETRY -gt 1 ] && [ $SENT -eq 0 ]
  39. do
  40.   MSG=`cat /tmp/body.$$`
  41.   /usr/bin/sms_client $TARGET "$MSG" >> /tmp/sms.log
  42.   case $? in
  43.    0) /bin/mailx -s "SMS success to $TARGET" $SENDER < /dev/null 
  44.       SENT=1;;
  45.    1) echo "Message too long" | 
  46.            /bin/mailx -s "SMS failure to $TARGET" $SENDER
  47.            SENT=1;;
  48.            
  49.    3) echo "Invalid Service Name" | 
  50.            /bin/mailx -s "SMS failure to $TARGET" $SENDER
  51.       SENT=1;;
  52.    4)
  53.       echo "Unknown number / name $TARGET" | 
  54.            /bin/mailx -s "SMS failure to $TARGET" $SENDER
  55.       SENT=1;;
  56.    *)
  57.       sleep 10
  58.       let RETRY=RETRY-1;;
  59.   esac
  60. done
  61. if [ $SENT -eq 0 ]
  62. then
  63.     echo "Unable to send message after 5 attemps, please try later" | 
  64.         /bin/mailx -s "SMS failure to $TARGET" $SENDER
  65. exit
  66. fi
  67. rm /tmp/header.$$
  68. rm /tmp/body.$$