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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
Python reduce()函数的用法小结
Nov 15 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
替换python字典中的key值方法
Jul 06 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
opencv设置采集视频分辨率方式
Dec 10 Python
Keras搭建自编码器操作
Jul 03 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
Jan 12 Python
python使用numpy中的size()函数实例用法详解
Jan 29 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php生成图片验证码的方法
2016/04/15 PHP
php自定义时间转换函数示例
2016/12/07 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
python求众数问题实例
2014/09/26 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Python Requests 基础入门
2016/04/07 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
python3 kubernetes api的使用示例
2021/01/12 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
大学生毕业自荐信
2013/10/10 职场文书
英语自荐信常用语句
2013/12/13 职场文书
学生实习介绍信
2014/01/15 职场文书
留守儿童工作方案
2014/06/02 职场文书
销售区域经理岗位职责
2015/04/10 职场文书