diff --git a/app/plugins/builtins/mail/services.py b/app/plugins/builtins/mail/services.py index 27cc6f1..55930e1 100644 --- a/app/plugins/builtins/mail/services.py +++ b/app/plugins/builtins/mail/services.py @@ -253,10 +253,11 @@ async def imap_sync_account( synced_count = 0 for uid in uids: uid_str = uid.decode() if isinstance(uid, bytes) else str(uid) - fetch_resp = await client.uid_fetch(uid_str, "(RFC822)") + fetch_resp = await client.uid('fetch', uid_str, '(RFC822)') raw_email = None - for line in fetch_resp: - if isinstance(line, tuple) and len(line) >= 2: + # aioimaplib Response: lines[0]='OK', lines[1]=[header_bytes, data_bytearray] + for line in fetch_resp.lines if hasattr(fetch_resp, 'lines') else fetch_resp: + if isinstance(line, (list, tuple)) and len(line) >= 2: raw_email = line[1] break if raw_email is None: