Python的IMAP库支持哪些线程算法?

Mic*_*l A 4 python email imap python-3.x

对文件IMAP4.thread()imaplib库说

thread命令是search结果的线程语义的变体.返回的数据包含空格分隔的线程成员列表.

线程成员由零个或多个消息号组成,由空格分隔,表示连续的父和子.

Thread在search_criterion参数之前有两个参数; 一个threading_algorithm,以及搜索字符集.

我不清楚什么用于threading_algorithm参数.该文档未指出默认值以及函数源代码IMAP4.thread()

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)
Run Code Online (Sandbox Code Playgroud)

即使在深入了解_simple_command辅助函数之后,也没有给我任何想法.

这个论点应该用什么?是否有其他文件?

Max*_*Max 5

这取决于服务器; CAPABILITIES响应应告诉您服务器支持的线程算法,在THREAD =键下.

例如:

* 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.
Run Code Online (Sandbox Code Playgroud)

此服务器支持ORDEREDSUBJECT和REFERENCES算法.

IMAP SORT和THREAD RFC中指出了基线算法的描述.

imaplib是一个非常低级的库,您需要自己解析响应.