電子メールに添付されたパスワードで保護された zip ファイルの復号化を取り除き、暗号化されていない同じ zip ファイルに置き換える必要があるユース ケースがあります。私がこれまでに持っているもの:
import zipfile
import StringIO
...
if part.get_content_type() == "application/zip":
encrypted_string = part.get_payload().decode("base64")
encrypted_zip = zipfile.ZipFile(StringIO(encrypted_string))
encrypted_zip.setpassword("password")
私ができるようにzipファイルが復号化され、機能することを知っていますencrypted_zip.namelist()
。var encrypted_zip に通常の zip があるので、それを base64 でエンコードし、現在の添付ファイルのペイロードを置き換えて、次の添付ファイルに進みたいと思います。ただし、ZipFile には、再エンコードに使用できる「.to_string()」メソッドがありません。
どうすればこれを達成できますか?