欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 接收邮件(pop3与imap)

程序员文章站 2022-07-08 12:15:00
...

首先是pop3与imap的区别:
python 接收邮件(pop3与imap)

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

pop3

import poplib

emailServer = poplib.POP3('192.168.88.7')
emailServer.user('aaa@qq.com')
emailServer.pass_('123456')

# 获取一些统计信息
emailMsgNum, emailSize = emailServer.stat()
print 'email number is %d and size is %d'%(emailMsgNum, emailSize)

# 遍历邮件,并打印出每封邮件的标题
for i in range(emailMsgNum):
    for piece in emailServer.retr(i+1)[1]:
        if piece.startswith('Subject'):
            print '\t' + piece
            break

emailServer.quit()

imap

import imaplib, string, email
M = imaplib.IMAP4_SSL("imap.gmail.com")
print M
try:
    try:
        M.login('aaa@qq.com','12345678')
    except Exception,e:
        print 'login error: %s' % e
        M.close()
    M.select()
    result, message = M.select()
    typ, data = M.search(None, 'ALL')
    for num in string.split(data[0]):
        try:
            typ, data = M.fetch(num, '(RFC822)')
            msg = email.message_from_string(data[0][1])
            print msg["From"]
            print msg["Subject"]
            print msg["Date"]
            print "_______________________________"
        except Exception,e:
            print 'got msg error: %s' % e
    M.logout()
    M.close()
except Exception, e:
    print 'imap error: %s' % e
    M.close()

转载自:http://chembo.iteye.com/blog/961486

相关标签: python