IMAP
跳转到导航
跳转到搜索
示例
登录并获取指定时间之后的邮件:
import imaplib
from getpass import getpass
s = imaplib.IMAP4_SSL('imap.gmail.com')
s.login('username@gmail.com', getpass())
s.select('label')
typ, msgnums = s.search(None, 'SINCE 17-Jun-2014')
msgnums = msgnums[0].decode().split()
# 根据数字获取邮件头和正文
mails = [s.fetch(x, 'BODY[]') for x in msgnums]
# 只保留邮件正文
mails = [m[1][0][1] for m in mails]
# 解析邮件正文
from email.parser import BytesParser
mails = [BytesParser().parsebytes(x) for x in mails]
使用 XOAUTH2 登录:
s.authenticate('XOAUTH2', lambda x: 'user=username@gmail.com\1auth=Bearer %s\1\1' % access_token)