diff --git a/server.py b/server.py index 08089c5..5490520 100644 --- a/server.py +++ b/server.py @@ -1999,6 +1999,7 @@ def get_email_impl(account=None, folder="INBOX", uid=None, include_html=False): imap = create_imap(acc) try: login_imap(imap, acc) + imap.select(folder, readonly=True) msg = parse_message(imap, uid) att_info = list_attachments_for_uid(imap, folder, uid) @@ -2172,7 +2173,7 @@ def list_attachments_for_uid(imap, folder, uid): if "attachment" in disp or (part.get_filename() and "inline" not in disp): filename = part.get_filename() if filename: - filename = email.utils.decode_param(filename)[0].decode("utf-8", errors="replace") + filename = email.utils.decode_params(filename)[0][0].decode("utf-8", errors="replace") else: filename = "attachment" size = len(part.get_payload(decode=True) or b"")