IMAP

来自百合仙子's Wiki
跳转到导航 跳转到搜索

示例

登录并获取指定时间之后的邮件:

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)

参见

外部链接