我有许多X-GM-THRID,我想检索这些线程的uid列表。
https://developers.google.com/gmail/imap_extensions描述了如何为单个X-GM-THRID查找它们。但是,如果我可以对我想要数据的所有X-GM-THRID发出一个请求,那就太好了。尝试此操作时,只会收到错误代码。
有人知道这是否可能吗?
我正在使用python并执行以下操作:
res, ids = imap_conn.uid('search', 'X-GM-THRID', thread_id)
# this works fine.
但我想做类似的事情:
res, ids = imap_conn.uid('search', 'X-GM-THRID', [thread_id1, thread_id2])
更新:
@max的答案后,我现在正在做这样的事情:
res, ids = imap_conn.uid(
'search', None,
'(OR (OR (X-GM-THRID 123) X-GM-THRID 456) X-GM-THRID 789)')
# 123, 456, 789 are fake gmail thread ids
我不确定gmail是否会限制搜索长度-我认为这可能是字符数而不是查询中的“或”数。在gmail开始返回错误之前,我可以摆脱约9。
最佳答案
您将需要添加“或”限定词,然后构建扩展的搜索查询。有关搜索格式,请参阅RFC 3501。
关于python - 是否可以通过imap在一个请求中搜索多个X-GM-THRID的gmail?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20482881/