python操作gmail实例
来源: 阅读:1033 次 日期:2015-01-16 14:06:41
温馨提示: 小编为您整理了“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("")

mailBoxex=demo.get_mailboxes()

for i in demo.response:

print i

demo.logout()

希望本文所述对大家的Python程序设计有所帮助。

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
手机网站地址:python操作gmail实例
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map