Python接收Gmail新邮件并发送到gtalk的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python接收Gmail新邮件并发送到gtalk的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import imaplib
import string, random
import StringIO, rfc822
import email
from google.appengine.api import xmpp
SERVER1 = "imap.gmail.com"
USER = "yeah"
PASSWORD = "ohmyga"
# connect to server
server = imaplib(SERVER1, 993)
# login
server.login(USER, PASSWORD)
server.select()
# list items on server
status, data = server.search(None, "(UNSEEN)")
mails = data[0].split()
if data[0] != '':
  print "has mails"
  user_address = 'wangnaide@gmail.com'
  for num in data[0].split():
    tpe, raw_msg = server.fetch(num, '(RFC822)')
    msg = email.message_from_string(raw_msg[0][1])
    #Subjects
    sbj, ecode = email.Header.decode_header(msg['subject'])[0]
    #from, sender
    frm = ''
    for fts, ecode in email.Header.decode_header(msg['from']):
      frm = frm + fts
    if xmpp.get_presence(user_address):
      xmpp.send_message(user_address, frm + ':' + sbj)
      server.store(num, '+FLAGS', '\\SEEN')
    #print frm + ":" + sbj
server.close()
server.logout()

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

相关文章

Python 实现数据结构-堆栈和队列的操作方法

队、栈和链表一样,在数据结构中非常基础一种数据结构,同样他们也有各种各样、五花八门的变形和实现方式。但不管他们形式上怎么变,队和栈都有其不变的最基本的特征,我们今天就从最基本,最简单的实...

pandas 缺失值与空值处理的实现方法

pandas 缺失值与空值处理的实现方法

1.相关函数 df.dropna() df.fillna() df.isnull() df.isna() 2.相关概念 空值:在pandas中的空值是"" 缺失值:在...

python pandas 时间日期的处理实现

python pandas 时间日期的处理实现

摘要在上一篇文章,时间日期处理的入门里面,我们简单介绍了一下载pandas里对时间日期的简单操作。下面将补充一些常用方法。 时间日期的比较 假设我们有数据集df如下 在对时间日期...

使用python实现对元素的长截图功能

使用python实现对元素的长截图功能

一.目标 浏览网页的时候,看见哪个元素,就能截取哪个元素当图片,不管那个元素有多长   二.所用工具和第三方库 python ,PIL,selenium pycharm 三....

用Python批量把文件复制到另一个文件夹的实现方法

0 前言 大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。 我理解了之后,觉得还是挺简单的,花了半个小时写出...