簡體   English   中英

為什么使用imaplib提取的.CAB附件損壞?

[英]Why are .CAB attachments I fetch with imaplib corrupt?

我有一封電子郵件,我正在嘗試使用imaplib從中下載附件。

我正在使用電子郵件庫將郵件翻譯為email.message類。 這對於我正在處理的所有電子郵件都非常有效,但是當我獲取此附件時,該文件看起來完好無損,並使用Notepad ++的比較,與通過Thunderbird下載的原始cab文件匹配。

這是我正在使用的代碼的示例。

fileContents = message.get_payload()[1].get_payload(decode=True)  #
fileName = message.get_payload()[1].get_filename()
with open(fileName, 'w') as f:
    f.write(fileContents)

如我所說,文件內容看起來與通過其他客戶端下載的原始文件相同。 它的大小正好相同。 但是,當我在WinRar,7zip或使用Window的EXPAND.exe打開下載的文件時,它會顯示以下消息。

!   H:\Code\Backup Monitor\backupsite\tst.CAB: The archive is corrupt

有誰知道為什么會這樣?

我解決了自己的問題。 我也需要以二進制模式打開文件。

所以

with open(fileName, 'w') as f:

變成

with open(fileName, 'wb') as f:

暫無
暫無

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

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