python操作gmail实例
本文实例讲述了python操作gmail的方法。分享给大家供大家参考。
具体实现方法如下:
importimaplib,re classpygmail(object): def__init__(self): self.IMAP_SERVER='imap.gmail.com' self.IMAP_PORT=993 self.M=None self.response=None self.mailboxes=[] deflogin(self,username,password): self.M=imaplib.IMAP4_SSL(self.IMAP_SERVER,self.IMAP_PORT) rc,self.response=self.M.login(username,password) returnrc defget_mailboxes(self): rc,self.response=self.M.list() foriteminself.response: self.mailboxes.append(item.split()[-1]) returnrc defget_mail_count(self,folder='Inbox'): rc,self.response=self.M.select(folder) returnself.response[0] defget_unread_count(self,folder='Inbox'): rc,self.response=self.M.status(folder,"(UNSEEN)") unreadCount=re.search("UNSEEN(\d+)",self.response[0]).group(1) returnunreadCount defget_imap_quota(self): quotaStr=self.M.getquotaroot("Inbox")[1][1][0] r=re.compile('\d+').findall(quotaStr) ifr==[]: r.append(0) r.append(0) returnfloat(r[1])/1024,float(r[0])/1024 defget_mails_from(self,uid,folder='Inbox'): status,count=self.M.select(folder,readonly=1) status,response=self.M.search(None,'FROM',uid) email_ids=[e_idfore_idinresponse[0].split()] returnemail_ids defget_mail_from_id(self,id): status,response=self.M.fetch(id,'(body[header.fields(subject)])') returnresponse defrename_mailbox(self,oldmailbox,newmailbox): rc,self.response=self.M.rename(oldmailbox,newmailbox) returnrc defcreate_mailbox(self,mailbox): rc,self.response=self.M.create(mailbox) returnrc defdelete_mailbox(self,mailbox): rc,self.response=self.M.delete(mailbox) returnrc deflogout(self): self.M.logout() if__name__=="__main__": demo=pygmail() demo.login("renwenchao888@gmail.com","qqq191430791") mailBoxex=demo.get_mailboxes() foriindemo.response: printi demo.logout()
希望本文所述对大家的Python程序设计有所帮助。