Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from imapclient import IMAPClient
- import time
- import RPi.GPIO as GPIO
- DEBUG = True
- HOSTNAME = 'imap.gmail.com'
- USERNAME = 'example@gmail.com' # use your full gmail address
- PASSWORD = 'password'
- MAILBOX = 'Inbox'
- NEWMAIL_OFFSET = 0 # my unread messages never goes to zero, yours might
- MAIL_CHECK_FREQ = 30 # check mail every 60 seconds
- GPIO.setwarnings(False)
- GPIO.setmode(GPIO.BCM)
- GREEN_LED = 4
- RED_LED = 17
- GPIO.setup(GREEN_LED, GPIO.OUT)
- GPIO.setup(RED_LED, GPIO.OUT)
- def loop():
- server = IMAPClient(HOSTNAME, use_uid=True, ssl=True)
- server.login(USERNAME, PASSWORD)
- if DEBUG:
- print('Logging in as ' + USERNAME)
- select_info = server.select_folder(MAILBOX)
- print('%d messages in INBOX' % select_info['EXISTS'])
- folder_status = server.folder_status(MAILBOX, 'UNSEEN')
- newmails = int(folder_status['UNSEEN'])
- if DEBUG:
- print "You have", newmails, "new emails!"
- if newmails > NEWMAIL_OFFSET:
- GPIO.output(GREEN_LED, True)
- GPIO.output(RED_LED, False)
- else:
- GPIO.output(GREEN_LED, False)
- GPIO.output(RED_LED, True)
- time.sleep(MAIL_CHECK_FREQ)
- if __name__ == '__main__':
- try:
- print 'Press Ctrl-C to quit.'
- while True:
- loop()
- finally:
- GPIO.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement