# Origin: some challenge on reddit import socket, base64, ssl user = "user" server = "jabber.org" port = 5222 password = "password" recipient = "foo@bar.com" message = "hello" useSSL = True def waitfor(socket, element) : input = "" while not ("<" + element) in input or not input.endswith(">") : input += s.recv(1024) s = socket.socket() s.connect((server, port)) header = "" if useSSL : s.send(header + "") waitfor(s, "proceed") s = ssl.wrap_socket(s) s.send(header + "" + base64.b64encode("\0" + user + "\0" + password)+ "") waitfor(s, "success") s.send(header + "" + message + "") s.close()