我有一封电子邮件,我正在尝试使用 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
有谁知道为什么会发生这种情况?