我正在使用python3和imaplib从收件箱中检索电子邮件,到目前为止一切顺利。但这些电子邮件是回复链的一部分,我获得的部分有效负载包括我回复的消息以及原始电子邮件内容。有没有办法只获取原始内容(例如,如果您在gmail的Web客户端中查看电子邮件,则在单击...
查看其上下文之前,是电子邮件的一部分)?
import email
import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login("xxx@gmail.com", "xxx")
mail.select('inbox')
result, data = mail.search(None, "UNSEEN") # (ALL/UNSEEN)
i = len(data[0].split())
if i > 1:
print("More than one unread email! Using last one.")
if i == 0:
print("No unread emails. Will check again soon.")
else:
result, msg = mail.fetch(data[0].split()[i-1], "(RFC822)")
msg = email.message_from_bytes(msg[0][1])
#if msg.is_multipart():
# for payload in msg.get_payload():
# print(payload.get_payload())
maintype = msg.get_content_maintype()
if maintype == "multipart":
for part in msg.get_payload():
if part.get_content_maintype() == "text":
print(part.get_payload())
elif maintype == "text":
print(part.get_payload())
这就是我得到的:
Again reply!
On Mon, Aug 14, 2017 at 6:34 PM, <xxx@gmail.com> wrote:
> Test message
>
<div dir=3D"ltr">Again reply!</div><div class=3D"gmail_extra"><br><div clas=
s=3D"gmail_quote">On Mon, Aug 14, 2017 at 6:34 PM, <span dir=3D"ltr"><<=
a href=3D"mailto:xxx@gmail.com" target=3D"_blank">xxx@gmail.com=
</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Test message<br>
</blockquote></div><br></div>