python操作gmail实例


Posted in Python onJanuary 14, 2015

本文实例讲述了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 相关文章推荐
python数据结构树和二叉树简介
Apr 29 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 Python
Python Collatz序列实现过程解析
Oct 12 Python
python 模拟登陆163邮箱
Dec 15 Python
python实现ping命令小程序
Dec 28 Python
python源码剖析之PyObject详解
May 18 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 Python
Python中的装饰器用法详解
Jan 14 #Python
python登陆asp网站页面的实现代码
Jan 14 #Python
Python的面向对象思想分析
Jan 14 #Python
为python设置socket代理的方法
Jan 14 #Python
Python单例模式实例分析
Jan 14 #Python
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 #Python
Python中使用Tkinter模块创建GUI程序实例
Jan 14 #Python
You might like
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
javascript计算渐变颜色的实例
2017/09/22 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python实现按行分割文件
2019/07/22 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
德国拖鞋网站:German Slippers
2019/11/08 全球购物
函授毕业生的自我鉴定
2013/11/26 职场文书
客服主管岗位职责
2013/12/13 职场文书
大学生演讲稿范文
2014/01/11 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
联欢晚会主持词
2014/03/25 职场文书
工商管理自荐书
2014/07/06 职场文书
内勤岗位职责
2015/02/10 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis