本文实例讲述了python操作gmail的方法。分享给大家供大家参考。
具体实现方法如下:
import imaplib, re class pygmail(object): def __init__(self): self.IMAP_SERVER='imap.gmail.com' self.IMAP_PORT=993 self.M = None self.response = None self.mailboxes = [] def login(self, username, password): self.M = imaplib.IMAP4_SSL(self.IMAP_SERVER, self.IMAP_PORT) rc, self.response = self.M.login(username, password) return rc def get_mailboxes(self): rc, self.response = self.M.list() for item in self.response: self.mailboxes.append(item.split()[-1]) return rc def get_mail_count(self, folder='Inbox'): rc, self.response = self.M.select(folder) return self.response[0] def get_unread_count(self, folder='Inbox'): rc, self.response = self.M.status(folder, "(UNSEEN)") unreadCount = re.search("UNSEEN (\d+)", self.response[0]).group(1) return unreadCount def get_imap_quota(self): quotaStr = self.M.getquotaroot("Inbox")[1][1][0] r = re.compile('\d+').findall(quotaStr) if r == []: r.append(0) r.append(0) return float(r[1])/1024, float(r[0])/1024 def get_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_id for e_id in response[0].split()] return email_ids def get_mail_from_id(self, id): status, response = self.M.fetch(id, '(body[header.fields (subject)])') return response def rename_mailbox(self, oldmailbox, newmailbox): rc, self.response = self.M.rename(oldmailbox, newmailbox) return rc def create_mailbox(self, mailbox): rc, self.response = self.M.create(mailbox) return rc def delete_mailbox(self, mailbox): rc, self.response = self.M.delete(mailbox) return rc def logout(self): self.M.logout() if __name__ =="__main__": demo=pygmail() demo.login("renwenchao888@gmail.com","qqq191430791") mailBoxex=demo.get_mailboxes() for i in demo.response: print i demo.logout()
希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍python多进程操作实例,包括了python多进程操作实例的使用技巧和注意事项,需要的朋友参考一下 由于CPython实现中的GIL的限制,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况我们需要使用多进程。 这也许就是python中多进程类库如此简洁好用的原因所在。在python中可以向多线程一样简单地使用多进程。 一、
本文向大家介绍python元组操作实例解析,包括了python元组操作实例解析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python元组操作方法,分享给大家供大家参考。具体分析如下: 一般来说,python的函数用法挺灵活的,和c、php的用法不太一样,和js倒是挺像的。 在照着操作时,可以发现一个很神奇的现象: 这里我预料的应该是(1, 3, 'b', (3, 'abc')),但是
本文向大家介绍Python 操作MySQL详解及实例,包括了Python 操作MySQL详解及实例的使用技巧和注意事项,需要的朋友参考一下 Python 操作MySQL详解及实例 使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和SQLAlchemy。 Python-MySQL资格最老,核心由C语言打造,接口精炼,性能最棒,
本文向大家介绍python字典操作实例详解,包括了python字典操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python字典操作实例的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Python操作MongoDB详解及实例,包括了Python操作MongoDB详解及实例的使用技巧和注意事项,需要的朋友参考一下 Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo。 1、安装命令 2、查询命令: 3、
本文向大家介绍python selenium操作cookie的实现,包括了python selenium操作cookie的实现的使用技巧和注意事项,需要的朋友参考一下 由于HTTP协议是无状态协议,所以服务器与客户端通过http协议通讯时,服务器不能记录客户端的信息。 为了解决这个问题,通过 Cookie 和 Session 技术来实现。 Cookie保存在客户端中 Session保存在服务器中