python操作gmail实例

重要的人越来越少,剩下的越来越重要。拼你想要的,争你没有的。要想人前显贵,就得背后遭罪。最穷不过要饭,不死终会出头!

本文实例讲述了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操作gmail实例。一切幸福,都是由生命热血换来的。更多关于python操作gmail实例请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
Python自动化运维-使用Python脚本监控华为AR路由器关键路由变化

Python自动化运维-netmiko模块设备自动发现

Python自动化运维—netmiko模块连接并配置华为交换机

Python自动化运维-利用Python-netmiko模块备份设备配置

Python自动化运维-Paramiko模块和堡垒机实战