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

yipeiwu_com5年前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使用正则表达式的search()函数实现指定位置搜索功能

前面学习过search()可以从任意一个文本里搜索匹配的字符串,也就是说可以从任何位置里搜索到匹配的字符串。但是现实世界很复杂多变的,比如限定你只能从第100个字符的位置开始匹配,100...

python五子棋游戏的设计与实现

这个python的小案例是五子棋游戏的实现,在这个案例中,我们可以实现五子棋游戏的两个玩家在指定的位置落子,画出落子后的棋盘,并且根据函数判断出输赢的功能。 这个案例的思路如下所示: 首...

对python 中class与变量的使用方法详解

python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键。 #!/usr/bin/python...

Python实现计算文件夹下.h和.cpp文件的总行数

平时自己写了很多代码,但从没好好计算总共写了多少行,面试时被问起来,就傻了。。。闲来无事,写个python程序来统计下 import os ###################...

Python中正反斜杠(‘/’和‘\’)的意义与用法

刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。 在Python中,记录路径时有以下几种写法,如:(大家都知道...