Fix: select folder in get_email_impl; use decode_params for attachment filenames
This commit is contained in:
@@ -1999,6 +1999,7 @@ def get_email_impl(account=None, folder="INBOX", uid=None, include_html=False):
|
|||||||
imap = create_imap(acc)
|
imap = create_imap(acc)
|
||||||
try:
|
try:
|
||||||
login_imap(imap, acc)
|
login_imap(imap, acc)
|
||||||
|
imap.select(folder, readonly=True)
|
||||||
msg = parse_message(imap, uid)
|
msg = parse_message(imap, uid)
|
||||||
att_info = list_attachments_for_uid(imap, folder, 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):
|
if "attachment" in disp or (part.get_filename() and "inline" not in disp):
|
||||||
filename = part.get_filename()
|
filename = part.get_filename()
|
||||||
if 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:
|
else:
|
||||||
filename = "attachment"
|
filename = "attachment"
|
||||||
size = len(part.get_payload(decode=True) or b"")
|
size = len(part.get_payload(decode=True) or b"")
|
||||||
|
|||||||
Reference in New Issue
Block a user