【问题标题】:What threading algorithm(s) does Python's IMAP library support?Python 的 IMAP 库支持哪些线程算法?
【发布时间】:2016-09-22 05:29:22
【问题描述】:

imaplib 库中的 documentation for IMAP4.thread() 表示

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

线程成员由零个或多个消息编号组成,以空格分隔,表示连续的父子节点。

线程在 search_criterion 参数之前有两个参数;一个threading_algorithm,以及搜索charset

我不清楚 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 帮助函数之后也是如此。

我应该为这个论点使用什么?其他地方有这方面的文档吗?

【问题讨论】:

    标签: python email python-3.x imap


    【解决方案1】:

    这取决于服务器; 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.
    

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

    基线算法的描述在IMAP SORT and THREAD RFC中注明。

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

    【讨论】:

    • 如果服务器支持,您可能希望使用 REFERENCES。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2018-02-21
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多