SMS are sent using a handheld device like mobile phone, pads etc. You can also send SMS using your computer system or server which has a cellphone connected to it by a serial cable, or a infra-red device or blue-tooth. Microsoft provides utilities like Microsoft SMSSender which can send SMS using a UI wizard running on the Comupter screen.
Now it is very much possible to have only one computer in a LAN (or a WAN) connected to a Cellphone and every single host on the network being able to send sms using it. This will need you to create an SMS Sender and have it running on a host, waiting for requests from clients. A client on the host can send the rquest using a client program. SMS will be send from the cellphone to the desired recipient.
Creating an SMS sender Server is very easy in python. Information on python is available at http://www.python.org/
Prerequisites:
1. Install Microsoft SMSSender software. download it from here.
2. Connect your Cellphone using a serial cable to host. This cable comes along with most cell phone these days.
A small Python program using sockets.
Server:
# SMS sender server program
import socket
import os
import time
def send_sms(num, data):
print "Sending sms", data
print num
print data
cmd = 'cd "C:\\Program Files\\Microsoft SMS Sender\\" && SMSSender.exe /p:%s /m:"%s"' % (num, data)
os.popen(cmd)
time.sleep(5)
return
def get_num(data):
num = data.split(':')[0].strip()
return num
def get_message(data):
msg = data.split(':')[1].strip()
return msg
HOST = '1.2.3.4' # Local host Ip address
PORT = 60007 # some arbitrary port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
while 1:
data = conn.recv(1024)
if not data:
break
num = get_num(data)
message = get_message(data)
send_sms(num, message)
dt=num+'+'+message
conn.send(dt)
conn.close()
Now it is very much possible to have only one computer in a LAN (or a WAN) connected to a Cellphone and every single host on the network being able to send sms using it. This will need you to create an SMS Sender and have it running on a host, waiting for requests from clients. A client on the host can send the rquest using a client program. SMS will be send from the cellphone to the desired recipient.
Creating an SMS sender Server is very easy in python. Information on python is available at http://www.python.org/
Prerequisites:
1. Install Microsoft SMSSender software. download it from here.
2. Connect your Cellphone using a serial cable to host. This cable comes along with most cell phone these days.
A small Python program using sockets.
Server:
# SMS sender server program
import socket
import os
import time
def send_sms(num, data):
print "Sending sms", data
print num
print data
cmd = 'cd "C:\\Program Files\\Microsoft SMS Sender\\" && SMSSender.exe /p:%s /m:"%s"' % (num, data)
os.popen(cmd)
time.sleep(5)
return
def get_num(data):
num = data.split(':')[0].strip()
return num
def get_message(data):
msg = data.split(':')[1].strip()
return msg
HOST = '1.2.3.4' # Local host Ip address
PORT = 60007 # some arbitrary port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
while 1:
data = conn.recv(1024)
if not data:
break
num = get_num(data)
message = get_message(data)
send_sms(num, message)
dt=num+'+'+message
conn.send(dt)
conn.close()
---------------------------------------------------------------------------------------------
Client:
# SMS client program
import socket
HOST = '10.73.17.40' # The remote host
PORT = 60007 # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('+xxxxxxxxxxx:Hello, world') # the mobile number and the message separated by :
data = s.recv(1024)
s.close()
print 'Received', repr(data)
sms sender
ReplyDeleteI'm very impressed by the detail of your blog posts like How to create a simple SMS Sender using python socket and a cell phone. This is going to be very helpful. Thanks for sharing your thoughts.
http://www.experttexting.com/sms-sender/