zoukankan      html  css  js  c++  java
  • 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()
        
    

      

  • 相关阅读:
    MySQL基础知识总结
    PHP常见算法
    PHP程序功能设计
    SVN配置使用及移植
    推荐一个SpringBoot + Vue + MyBatis 音乐网站项目
    累积sql常用查询语句「Oracle」
    Nginx服务器设置http/https正向代理,使用ngx_http_proxy_connect_module模块
    squid配置文件
    nginx命令
    k8s与Docker有啥关系
  • 原文地址:https://www.cnblogs.com/rollenholt/p/2280652.html
Copyright © 2011-2022 走看看