[英]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.