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匹配中文的正则表达式
May 11 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
python GUI实现小球满屏乱跑效果
May 09 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
浅析Python模块之间的相互引用问题
Feb 26 Python
浅谈Python响应式类库RxPy
Jun 14 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 magic quotes的详解
2013/06/17 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JAVASCRIPT对象及属性
2007/02/13 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
大学校园活动策划书
2014/02/04 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
六年级作文之预言作文
2019/10/25 职场文书
python基础之错误和异常处理
2021/10/24 Python
JavaScript异步操作中串行和并行
2021/11/20 Javascript
MongoDB支持的索引类型
2022/04/11 MongoDB