簡體   English   中英

帶有 GMail 的 Imaplib 偏移 uid

[英]Imaplib with GMail offsets uids

我正在使用帶有范圍參數的 python ImapLib 查詢我的 gmail 收件箱,但我返回的 uid 與我請求的有所偏移。 我的要求如下:

M = imaplib.IMAP4_SSL('imap.gmail.com')
M.login(USER, PASS)
# Choose the inbox for finding mail
M.select('INBOX')
rv, data = M.uid("search", None, '29540:*')

這將返回一個 UID,29725。

如果我從開始范圍中減去 421(通過反復試驗發現),我會得到從 29540 到 2972​​5 的完整 uid 列表。我很難過。 可能是因為它沒有在此范圍內使用 UID,並且在刪除電子郵件時遇到了問題?

似乎M.uid只是簡單地指定返回值將是 UID,因此仍然需要指定發送的參數將是 UID 而不是消息 ID。 這修復了它:

rv, data = M.uid("search", None, 'UID', '29540:*')

rv, data = M.uid("search", None, '(UID 29540:*)')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM