import sys, imaplib
from email.parser import HeaderParser
mail = imaplib.IMAP4_SSL(SERVER, PORT)
status, data = mail.search(None, 'ALL')
for msg_id in data[0].split():
status, message = mail.fetch(msg_id, '(RFC822)')
print message[0][1]
mail.close()
mail.logout()
Я пытаюсь получить электронные письма из gmail через imap. Все работает нормально, за исключением того, что я не могу извлечь из сообщения заголовок (субъект, отправитель, дата). В приведенном выше коде сообщение [0] [1] содержит мое электронное письмо.python email.parser: извлечение заголовка по электронной почте
Единственный способ, которым я могу получить заголовок, чтобы запросить сервер IMap снова, в частности, для заголовка:
status, message = mail.fetch(msg_id, '(BODY[HEADER.FIELDS (SUBJECT FROM)])')
parser = HeaderParser()
header = parser.parsestr(message[0][1])
print header
может кто-нибудь, пожалуйста, посоветовать, как это сделать?
это именно то, что я искал. Большое спасибо – user1968963
Самый крутой ответ когда-либо;) – Chris