当前位置: 移动技术网 > IT编程>脚本编程>Python > python操作gmail实例

python操作gmail实例

2019年03月23日  | 移动技术网IT编程  | 我要评论

徐晓东被马库斯吓病,纨绔淼渺,海南游价格

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网