python操作gmail实例_python

本文实例讲述了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程序设计有所帮助。

时间: 2024-08-02 19:51:31

python操作gmail实例_python的相关文章

Python中使用PyQt把网页转换成PDF操作代码实例_python

代码很简单,功能也很简单 =w= webpage2pdf #!/usr/bin/env python3 import sys try: from PyQt4 import QtWebKit from PyQt4.QtCore import QUrl from PyQt4.QtGui import QApplication, QPrinter except ImportError: from PySide import QtWebKit from PySide.QtCore import QUrl

利用Python获取操作系统信息实例_python

前言 每一位运维人员都应该对自己所管理的机器配置很清楚,因为这对我们快速处理问题很有帮助,比如随着业务增长,突然某些机器负载上涨的厉害,这时候要排查原因,除了从应用程序.架构上分析外,当前硬件性能的分析应该是必不可少的一环,今天我们将不用第三方模块,用python自带模块和系统提供的运行信息来获取我们需要的信息,这个脚本除了硬件外,还抓取了当前系统进程数和网卡流量功能,所以这个版本实现的功能基本对应了之前psutil实现的内容,多的不说了,直接贴代码: #!/usr/bin/env python

Python创建日历实例_python

本文讲述了Python创建日历的方法,与以往不同的是,本文实例不使用Python提供的calendar实现,相信对大家的Python程序设计有一定的借鉴价值. 此程序在windows下测试通过,由于python字符编码直接输出给操作系统,so win下以gbk ansi为准,linux下大概以utf-8为准(未测试) #coding=gbk # -*- coding: cp936 -*- # 制作一个日历(只显示阳历日期) '''实现方法:不使用python提供的calendar,根据给出的日期

Python操作Mysql实例代码教程(1/3)

本文介绍了Python操作MYSQL.执行SQL语句.获取结果集.遍历结果集.取得某个字段.获取表字段名.将图片插入数据库.执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐. 实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发,请见我的另一篇文章:  代码如下 复制代码 # -*- coding: UTF-8 -*- #安装MYSQL DB for python import MySQLdb as mdb con = None try:

gearman的安装启动及python API使用实例_python

本文讲述了gearman的安装启动及python API使用实例,对于网站建设及服务器维护来说非常有用! 一.概述: Gearman是一款非常优秀的任务分发框架,可以用于分布式计算.具体的gearmand服务的安装启动及gearman的python 模块的安装以及简单示例如下:   操作系统:rnel 5.7 1. 首先,我们需要安装gearmand,在centos和rhel环境下,我们只需运行以下命令: yum install gearmand -y   注意:如果不希望通过yum的方式来安装

Python使用MySQLdb for Python操作数据库教程_python

本文详细讲述了Python使用MySQLdb for Python操作数据库的方法,分享给大家供大家参考.具体如下: 一般来说网站就是要和数据库进行交互,否则什么都不用做了.今天我们就来分析一个叫MySQLdb的库,使用这个用来和MySQL数据库进行交互. 大家可以从这里获得这个库: http://sourceforge.net/projects/mysql-python 如果你不确定你的python环境里有没有这个库,那就打开python shell,输入 import MySQLdb,如果返

python字典序问题实例_python

本文实例讲述了python字典序问题,分享给大家供大家参考.具体如下: 问题描述: 将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现一次..例如:a,b,ab,bc,xyz等都是升序的字符串.现对字母表A产生的所有长度不超过6的升序字符串按照字典充排列并编码如下: 1 2 .. 26 27 28 ... a b .. z ab ac .. 对一个升序字符串,迅速计算出它在上述字典中的编码. 实现代码如下: import string all_letter = string.ascii

python测试驱动开发实例_python

本文实例讲述了python测试驱动开发的方法,分享给大家供大家参考.具体方法如下: import unittest from main import Sample class SampleTest(unittest.TestCase): def setUp(self): print "create a new Sample" self._sample = Sample("b64e5843ca7db8199c405be565fa7f57") def tearDown(

Python生成验证码实例_python

本文实例展示了Python生成验证码的方法,具有很好的实用价值.分享给大家供大家参考.具体实现方法如下: 前台页面代码如下: <div> <img id="authcode_img" alt="验证码" src="/registration/makeimage/{{time}}"/> <!-- time 任意随机数(时间戳),防止页面缓存 导致验证码不能更新--> <a href="javasc