为了测试目的,我想禁用 Dovecot IMAP 服务器中的特定功能。在文档中,我只找到
imap_capability Default: <empty> Values: String
覆盖 IMAP CAPABILITY 响应。
如果值以 + 字符开头,则此处列出的功能将添加到默认字符串的末尾。
例子:
imap_capability = +XFOO XBAR
然而,它没有解释如何禁用单一能力?
答案1
根据这篇文章中的解释:
明确设置 imap_capability 字符串,[邮件客户端] 将不会使用它。字符串不应包含 AUTH=* 或 STARTTLS。最简单的方法是:
telnet localhost 143 a login user pass b capability
然后从该功能中删除 CONDSTORE 并将其放入 imap_capability。
按照以下说明尝试删除CONDSTORE
该功能:
imap_capability = IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY
请注意,IMAP4rev1
必须明确包含在中imap_capabilities
。
这似乎有效,但我注意到初始功能字符串(初始连接时但在登录之前显示的字符串)发生了变化,这是我最初没有想到的。
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot ready.
到
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY AUTH=PLAIN] Dovecot ready.
我不确定这是否会引起任何问题。