imaplib
库中的documentation for IMAP4.thread()
说
thread
命令是search
的变体,具有结果的线程语义。返回的数据包含一个空格分隔的线程成员列表。线程成员由零个或多个消息编号组成,用空格分隔,表示连续的父和子。
线程在 search_criterion 参数之前有两个参数; threading_algorithm ,以及搜索字符集。
我不清楚如何使用 threading_algorithm 参数。文档未指明默认值,source code for the IMAP4.thread()
function
def thread(self, threading_algorithm, charset, *search_criteria):
"""IMAPrev1 extension THREAD command.
(type, [data]) = <instance>.thread(threading_algorithm, charset, search_criteria, ...)
"""
name = 'THREAD'
typ, dat = self._simple_command(name, threading_algorithm, charset, *search_criteria)
return self._untagged_response(typ, dat, name)
即使在深入研究_simple_command
辅助函数之后,也没有给我任何想法。
这个论点应该用什么?是否有其他文件?
答案 0 :(得分:5)
这取决于服务器; CAPABILITIES响应应告诉您服务器支持的线程算法,在THREAD = keys下。
例如:
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN ACL ACL2=UNION ID] Courier-IMAP ready. Copyright 1998-2011 Double Precision, Inc. See COPYING for distribution information.
此服务器支持ORDEREDSUBJECT和REFERENCES算法。
基准算法的描述见IMAP SORT and THREAD RFC。
imaplib是一个非常低级别的库,您需要自己解析响应。