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

594次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8