【问题标题】:Apache Commons Net IMAPsClient List CommandApache Commons Net IMAPsClient 列表命令
【发布时间】:2015-06-09 16:32:56
【问题描述】:

我正在尝试通过 apache commons net ImapsClient 连接到 www.gmx.net

我能够登录并从我知道的文件夹中获取消息。 但我的问题在于列出文件夹。

JavaDoc 告诉我

boolean list(String refName, String mailboxName) 向服务器发送 LIST 命令。

RFC 说发送“”“*”以列出所有文件夹。 所以如果我打电话

imap.list("", "*");

服务器返回我

AAAB 列表 *

AAAB BAD 应为 1*ASTRING-CHAR / 字符串而不是“”

[AAAB BAD 应为 1*ASTRING-CHAR / 字符串而不是“”]

所以如果我打电话

imap.list("/", "*");

服务器返回我

AAAB 列表 *

AAAB OK LIST 完成

[AAAB OK LIST 完成]

但没有列出任何文件夹。因为我可以选择文件夹InboxSpamverdacht,所以显然有多个文件夹。

此“空结果”之一的完整日志是:

使用安全协议:SSL

连接到 993 上的服务器 imap.gmx.net

  • OK [CAPABILITY IMAP4rev1 儿童启用 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ MOVE NAMESPACE SASL-IR SORT SPECIAL-USE THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN AUTH=LOGIN AUTH=PLAIN] IMAP 服务器准备好 H migmx029 104568 IMAP-0LaTV9-1ZTDW43mbH-00lcpb

AAAA 登录 *******

AAAA OK 登录完成

AAAB 列表 / *

AAAB OK LIST 完成

[AAAB OK LIST 完成]

AAAC 注销

  • 再见服务器注销

AAAC OK 注销完成

我的错误是什么?

【问题讨论】:

    标签: java apache imap


    【解决方案1】:

    听起来好像没有正确转义。

    试试 imap.list("\"\"", "\"*\""),用转义引号括起来。

    【讨论】:

    • 你是对的,我想知道我必须添加 " 标志......认为它会自动添加 - 这很有意义!
    猜你喜欢
    • 2023-04-05
    • 2014-12-10
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2014-03-26
    • 2011-09-18
    相关资源
    最近更新 更多