簡體   English   中英

Python poplib:將電子郵件結果的主體檢索為NONE

[英]Python poplib: retrieving body of the email result to NONE

我可以收到電子郵件的主題,但是正文始終顯示為NONE。 嘗試了該鏈接,但所有建議最終都相同。 正文仍打印為無。

import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('my_email.com')
pop_conn.pass_('my_password')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ['\n'.join(map(bytes.decode, mssg[1])) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]

for message in messages:
    print (message['subject'])
    print (message['body'])
    print (message.get_payload())
pop_conn.quit()
import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('my_email.com')
pop_conn.pass_('my_password')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ['\n'.join(map(bytes.decode, mssg[1])) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]

for message in messages:
    print (message['subject'])
    print (message['from'])
    for part in message.walk():
        if part.get_content_type():
            body = part.get_payload(decode=True)
            print(body)
pop_conn.quit()

這成功了。 但是,它打印一條直線。 如果消息的內容很長,有人知道如何每行打印嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM