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

时间:2021-07-25 01:11:43

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

  1. #!/usr/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3. import imaplib 
  4. import string, random 
  5. import StringIO, rfc822 
  6. import email 
  7. from google.appengine.api import xmpp 
  8. SERVER1 = "imap.gmail.com" 
  9. USER = "yeah" 
  10. PASSWORD = "ohmyga" 
  11. # connect to server 
  12. server = imaplib(SERVER1, 993) 
  13. # login 
  14. server.login(USER, PASSWORD) 
  15. server.select() 
  16. # list items on server 
  17. status, data = server.search(None, "(UNSEEN)"
  18. mails = data[0].split() 
  19. if data[0] != ''
  20.   print "has mails" 
  21.   user_address = 'wangnaide@gmail.com' 
  22.   for num in data[0].split(): 
  23.     tpe, raw_msg = server.fetch(num, '(RFC822)'
  24.     msg = email.message_from_string(raw_msg[0][1]) 
  25.     #Subjects 
  26.     sbj, ecode = email.Header.decode_header(msg['subject'])[0] 
  27.     #from, sender 
  28.     frm = '' 
  29.     for fts, ecode in email.Header.decode_header(msg['from']): 
  30.       frm = frm + fts 
  31.     if xmpp.get_presence(user_address): 
  32.       xmpp.send_message(user_address, frm + ':' + sbj) 
  33.       server.store(num, '+FLAGS''\\SEEN'
  34.     #print frm + ":" + sbj 
  35. server.close() 
  36. server.logout() 

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