Imaplib 与 GMail 偏移 uid
Imaplib with GMail offsets uids
我正在使用带有范围参数的 pythons 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:*')
这returns一个单一的UID,29725。
如果我从起始范围减去 421(通过反复试验找到),我将得到从 29540 到 29725 的完整 uid 列表。我很难过。会不会是它没有在这个范围内使用 UID,并且在某种程度上对删除的电子邮件有问题?
似乎M.uid
只是指定return 值将是UID,所以仍然有必要指定发送的参数将是UID 而不是消息ID。这修复了它:
rv, data = M.uid("search", None, 'UID', '29540:*')
rv, data = M.uid("search", None, '(UID 29540:*)')
我正在使用带有范围参数的 pythons 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:*')
这returns一个单一的UID,29725。
如果我从起始范围减去 421(通过反复试验找到),我将得到从 29540 到 29725 的完整 uid 列表。我很难过。会不会是它没有在这个范围内使用 UID,并且在某种程度上对删除的电子邮件有问题?
似乎M.uid
只是指定return 值将是UID,所以仍然有必要指定发送的参数将是UID 而不是消息ID。这修复了它:
rv, data = M.uid("search", None, 'UID', '29540:*')
rv, data = M.uid("search", None, '(UID 29540:*)')