python 接收邮件示例:pop3与imap

时间:2022-03-23 15:58:58
简单来说主要区别就是imap可以不用把所有的邮件全部下载,就通过客户端直接对服务器上的邮件进行操作。IMAP它只下载邮件的主题,并不是把所有的邮件内容都下载下来. 

=============================pop3================================= 
Python代码  python 接收邮件示例:pop3与imap
  1. import poplib    
  2.     
  3. emailServer = poplib.POP3('192.168.88.7')    
  4. emailServer.user('qa01@corp.globalmarket.com')    
  5. emailServer.pass_('123456')    
  6.   
  7. # 获取一些统计信息    
  8. emailMsgNum, emailSize = emailServer.stat()    
  9. print 'email number is %d and size is %d'%(emailMsgNum, emailSize)    
  10.     
  11. # 遍历邮件,并打印出每封邮件的标题    
  12. for i in range(emailMsgNum):    
  13.     for piece in emailServer.retr(i+1)[1]:    
  14.         if piece.startswith('Subject'):    
  15.             print '\t' + piece    
  16.             break    
  17.             
  18. emailServer.quit()   



=============================imap================================= 
Python代码  python 接收邮件示例:pop3与imap
  1. import imaplib, string, email  
  2. M = imaplib.IMAP4_SSL("imap.gmail.com")  
  3. print M  
  4. try:  
  5.     try:  
  6.         M.login('chemboking@gmail.com','kawayime')  
  7.     except Exception,e:  
  8.         print 'login error: %s' % e  
  9.         M.close()  
  10.     M.select()  
  11.     result, message = M.select()  
  12.     typ, data = M.search(None'ALL')  
  13.     for num in string.split(data[0]):  
  14.         try:  
  15.             typ, data = M.fetch(num, '(RFC822)')  
  16.             msg = email.message_from_string(data[0][1])  
  17.             print msg["From"]  
  18.             print msg["Subject"]  
  19.             print msg["Date"]  
  20.             print "_______________________________"  
  21.         except Exception,e:  
  22.             print 'got msg error: %s' % e              
  23.     M.logout()  
  24.     M.close()  
  25. except Exception, e:  
  26.     print 'imap error: %s' % e  
  27.     M.close()