#!/bin/sh # sms.plussmtp - interfejs do wysyłania SMSów na telefony sieci PLUS # Sebastian Zagrodzki # Jacek Fiok # Strona domowa: sms.jfiok.org # # wersja wysyłająca e-maila nie potrzebując niczego (goły telnet na port 25). [ -r /usr/local/share/sms/smsrc ] && . /usr/local/share/sms/smsrc [ -r /etc/smsrc ] && . /etc/smsrc [ -r $HOME/etc/smsrc ] && . $HOME/etc/smsrc [ -r $HOME/.smsrc ] && . $HOME/.smsrc [ -z "$ADR_ZWROT" -a -r /etc/HOSTNAME ] && ADR_ZWROT="postmaster@`cat /etc/HOSTNAME`" if [ -z "$ADR_ZWROT" ]; then echo "Musi byc podany adres zwrotny!" exit 127 fi [ -z "$NETCAT" ] && [ -x /bin/nc -o -x /usr/bin/nc ] && NETCAT="nc" [ -z "$NETCAT" -a -f "$KATALOG/nc-emulator" ] && NETCAT=". $KATALOG/nc-emulator" if [ -z "$NETCAT" ]; then echo "Nie moge znalezc netcata!" exit 127 fi [ -z "$TIMEOUT" ] && TIMEOUT=20 NUMER="$1" WIADOMOSC="$2" ZOSTALO=$(( 1470 - ${#WIADOMOSC} )) if [ "$ZOSTALO" -lt 0 ]; then WIADOMOSC="`echo \"${WIADOMOSC}\" | cut -c 1-1470`" fi NUMER="${1}" WIADOMOSC="${2}" send() { echo -e "$1" sleep 1 } { send "MAIL FROM: <${ADR_ZWROT}>\r" send "RCPT TO: <48${NUMER}@text.plusgsm.pl>\r" send "DATA\r" send "From: \r To: 48${NUMER}@text.plusgsm.pl\r \r ${WIADOMOSC}\r .\r" send "QUIT\r" } | $NETCAT -w $TIMEOUT smsa.plusgsm.pl 25 > /dev/null 2>&1 if [ "$?" = "0" ]; then echo "Wszystko OK" exit 0 else echo "Błąd przy wysyłaniu!" exit 1 fi