python操作gmail实例
程序员文章站
2022-06-30 09:23:33
本文实例讲述了python操作gmail的方法。分享给大家供大家参考。
具体实现方法如下:
复制代码 代码如下:import imaplib, re
...
本文实例讲述了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()
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程序设计有所帮助。
上一篇: php中session使用示例
下一篇: PHP中的按位与和按位或操作示例