fix: IMAP sync uid_fetch and response parsing
- Replace client.uid_fetch() with client.uid("fetch", ...) (aioimaplib API)
- Fix response parsing for aioimaplib Response object structure
This commit is contained in:
@@ -253,10 +253,11 @@ async def imap_sync_account(
|
|||||||
synced_count = 0
|
synced_count = 0
|
||||||
for uid in uids:
|
for uid in uids:
|
||||||
uid_str = uid.decode() if isinstance(uid, bytes) else str(uid)
|
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
|
raw_email = None
|
||||||
for line in fetch_resp:
|
# aioimaplib Response: lines[0]='OK', lines[1]=[header_bytes, data_bytearray]
|
||||||
if isinstance(line, tuple) and len(line) >= 2:
|
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]
|
raw_email = line[1]
|
||||||
break
|
break
|
||||||
if raw_email is None:
|
if raw_email is None:
|
||||||
|
|||||||
Reference in New Issue
Block a user