簡體   English   中英

如何使用IMAP使用Python僅提取電子郵件正文?

[英]How can I extract only the email body with Python using IMAP?

我對編程和python還是比較陌生,但是到目前為止,我認為我做得還不錯。 這是我擁有的代碼,並且工作正常,除了它以MIME格式獲取整個郵件。 我只想要未讀電子郵件的正文,但是我還不太清楚如何清除所有格式和標題信息。 如果我使用smtp python腳本發送基本電子郵件,就可以使其正常工作,並且僅打印正文,但是如果我使用Outlook發送電子郵件,則會打印大量多余的垃圾。 很感謝任何形式的幫助。

client = imaplib.IMAP4_SSL(PopServer)

client.login(USER, PASSWORD)
client.select('INBOX')
status, email_ids = client.search(None, '(UNSEEN SUBJECT "%s")' % PrintSubject)
print email_ids
client.store(email_ids[0].replace(' ',','),'+FLAGS','\Seen')
for email in get_emails(email_ids):

get_emails()

    def get_emails(email_ids):
        data = []
        for e_id in email_ids[0].split():
            _, response = client.fetch(e_id, '(UID BODY[TEXT])')
            data.append(response[0][1])
        return data

聽起來您在尋找email包:

電子郵件包提供了一個標准解析器,該解析器可以理解大多數電子郵件文檔結構,包括MIME文檔。 您可以向解析器傳遞字符串或文件對象,解析器將返回給您對象結構的根Message實例。 對於簡單的非MIME消息,此根對象的有效負載可能是包含消息文本的字符串。 對於MIME消息,根對象將從其is_multipart()方法返回True,並且可以通過get_payload()和walk()方法訪問子部分。

暫無
暫無

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

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