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()
imap経由でgmailからメールを取得しようとしています。メッセージからヘッダー (件名、送信者、日付) を抽出できないことを除いて、すべて正常に動作します。上記のコードでは、message[0][1] に私のメールが含まれています。
ヘッダーを取得できる唯一の方法は、特にヘッダーについて、imap サーバーに再度問い合わせることです。
status, message = mail.fetch(msg_id, '(BODY[HEADER.FIELDS (SUBJECT FROM)])')
parser = HeaderParser()
header = parser.parsestr(message[0][1])
print header
誰かがそれを行う方法を教えてもらえますか?