import urllib2, re, serial, sys #Settings - Change these to match your account details USERNAME="username@gmail.com" PASSWORD="yourpassword" PROTO="https://" SERVER="mail.google.com" PATH="/gmail/feed/atom" SERIALPORT = "/dev/tty.usbserial" # Change this to your serial port! # Set up serial port try: ser = serial.Serial(SERIALPORT, 9600) except serial.SerialException: sys.exit() # Get Gmail Atom feed passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, SERVER, USERNAME, PASSWORD) authhandler = urllib2.HTTPBasicAuthHandler(passman) opener = urllib2.build_opener(authhandler) urllib2.install_opener(opener) page = urllib2.urlopen(PROTO + SERVER + PATH) # Find the mail count line for line in page: count = line.find("fullcount") if count > 0: break # Extract the mail count as an integer newmails = int(re.search('\d+', line).group()) # Output data to serial port if newmails > 0: ser.write('M') else: ser.write('N') # Close serial port ser.close()