我为脚本编写了以下代码:
import sys
import imaplib
import getpass
import email
import email.header
import datetime
EMAIL_ACCOUNT = "notatallawhistleblowerIswear@gmail.com"
EMAIL_FOLDER = "INBOX"
def process_mailbox(M):
rv, data = M.search(None, "ALL")
if rv != 'OK':
print("No messages found!")
return
for num in data[0].split():
rv, data = M.fetch(num, '(RFC822)')
if rv != 'OK':
print("ERROR getting message", num)
return
msg = email.message_from_bytes(data[0][1])
hdr = email.header.make_header(email.header.decode_header(msg['Subject']))
subject = str(hdr)
print('Message %s: %s' % (num, subject))
print('Raw Date:', msg['Date'])
# Now convert to local date-time
date_tuple = email.utils.parsedate_tz(msg['Date'])
if date_tuple:
local_date = datetime.datetime.fromtimestamp(
email.utils.mktime_tz(date_tuple))
print ("Local Date:", \
local_date.strftime("%a, %d %b %Y %H:%M:%S"))
M = imaplib.IMAP4_SSL('imap.gmail.com')
rv, data = M.login(EMAIL_ACCOUNT, getpass.getpass())
print(rv, data)
rv, mailboxes = M.list()
rv, data = M.select(EMAIL_FOLDER)
print("Processing mailbox...\n")
process_mailbox(M)
M.close()
M.logout()
我无法使用IMAP提取gmail正文。我已成功使用IMAP从电子邮件中获取主题名称。
我如何阅读gmail正文?
答案 0 :(得分:0)
尝试:
msg = email.message_from_string(data[0][1])
print(msg['From'])
print(msg.get_payload(decode=True))