簡體   English   中英

Python Email - 節省 PDF 附件

[英]Python Email - saving PDF attachments

import imaplib
import email
from PyPDF2 import PdfFileMerger
import os

HOST = *****
USERNAME = ****
PASSWORD = *****

m = imaplib.IMAP4_SSL(HOST, 993)
m.login(USERNAME, PASSWORD)
m.select('INBOX')

result, data = m.uid('search', None, "ALL")
if result == 'OK':
    for num in data[0].split():
        result, data = m.uid('fetch', num, '(RFC822)')
        if result == 'OK':
            email_message_raw = email.message_from_bytes(data[0][1])
            for part in email_message_raw.walk():

            content_type = part.get_content_type()
            
            files = []
            
            if "plain" in content_type:
                text = part.get_payload()
                f = open('text.html','w')
                f.write('<p>'+text+'</p>')
                f.close
                os.system('wkhtmltopdf text.html text.pdf')
                os.system('rm -r text.html')
                files.append('text.pdf')
            
            if "pdf" in content_type:
                '''
                save each pdf
                files.append(pdf_filename)
                '''
            merger = PdfFileMerger()
            for pdf in files:
                merger.append(pdf)
            merger.write(complete_email.pdf)
            merger.close

m.close()
m.logout()

我正在嘗試從電子郵件中保存 PDF 附件,並將它們與主 email 消息的創建 PDF 結合起來。 苦於如何下載 PDF,請參閱“”“””部分。 謝謝。

files = ['test.pdf'] #exising pdf from plain text
for part in data.walk():
    if part.get_content_type() == "application/pdf":
        files.append(part.get_filename(failobj=None))
        with open(part.get_filename(failobj=None), 'wb') as f:
            f.write(part.get_payload(decode=True))

暫無
暫無

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

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