这是我的代码:
import imaplib
from email.parser import HeaderParser
conn = imaplib.IMAP4_SSL('imap.gmail.com')
conn.login('example@gmail.com', 'password')
conn.select()
conn.search(None, 'ALL')
data = conn.fetch('1', '(BODY[HEADER])')
header_data = data[1][0][1]
newdata = header_data.decode('utf-8')
parser = HeaderParser()
msg = parser.parsestr(newdata)
print (msg.keys())
打印出密钥(标题):Mime-version,x-no-auto-attachment,received,date,messageID,subject,from。到,内容类型。
然而,有2个缺失,哪些是X-GM-THRID和X-Gmail-Labels?任何想法为什么以及如何解决这个问题?
答案 0 :(得分:0)
我认为这些不在电子邮件标题中,而是FETCH
命令的扩展名:
conn.fetch('1', '(BODY[HEADER] X-GM-THRID X-GM-Labels)')
请参阅Gmail的documentation。