From 7f80b8e6bcd970cc65259b078997bcafd6dbb963 Mon Sep 17 00:00:00 2001 From: Manabu Niseki Date: Mon, 6 Jul 2020 07:47:28 +0900 Subject: [PATCH] Improve attachment filename normalization (#14) Use `os.path.basename` instead of `urllib.parse.quote_plus` to improve filename normalization. --- outlookmsgfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/outlookmsgfile.py b/outlookmsgfile.py index 5d86c28..a0fded5 100644 --- a/outlookmsgfile.py +++ b/outlookmsgfile.py @@ -13,11 +13,11 @@ # https://blogs.msdn.microsoft.com/openspecification/2009/11/06/msg-file-format-part-1/ import re +import os import sys from functools import reduce -import urllib.parse import email.message, email.parser, email.policy from email.utils import parsedate_to_datetime, formatdate, formataddr @@ -154,7 +154,7 @@ def process_attachment(msg, entry, doc): mime_type = props.get('ATTACH_MIME_TAG', 'application/octet-stream') if isinstance(mime_type, bytes): mime_type = mime_type.decode("utf8") - filename = urllib.parse.quote_plus(filename) + filename = os.path.basename(filename) # Python 3.6. if isinstance(blob, str):