python imap获取gmail未读邮件数量(守护进程篇)

2010年06月24日 星期四 16:01

#!/usr/bin/python
#coding:utf-8
import imaplib
import re
import subprocess
import sys
import time
import webbrowser
import getpass
import os

def gmail_checker(i):
try:
x,y=i.status('INBOX','(MESSAGES UNSEEN)')
messages=int(re.search('MESSAGES\s+(\d+)',y[0]).group(1))
unseen=int(re.search('UNSEEN\s+(\d+)',y[0]).group(1))
return (messages,unseen)
except:
return False


def main(imap):
messages,unseen = gmail_checker(imap)
if unseen>=1:
webbrowser.open_new_tab("http://localhost/test/gmail.html")
time.sleep(600)
main(imap)

if __name__ == "__main__":
username = sys.argv[1]
password = getpass.getpass()
pid = os.fork()
if pid > 0:
os._exit(0)
pid = os.fork()
if pid>0:
imap=imaplib.IMAP4_SSL('imap.gmail.com')
imap.login(username,password)
main(imap)
posted @ 2012-05-20 10:00  小五义  阅读(2741)  评论(0)    收藏  举报