我正在尝试通过 apache commons net ImapsClient 连接到 www.gmx.net
我能够登录并从我知道的文件夹中获取消息。 但我的问题是列出文件夹。
JavaDoc 告诉我
boolean list(String refName, String mailboxName) Send a LIST command to the server.
RFC 说发送“”“*”以列出所有文件夹。 所以如果我打电话
imap.list("", "*");
服务器返回我
AAAB LIST *
AAAB BAD expected 1*ASTRING-CHAR / string instead of " "
[AAAB BAD expected 1*ASTRING-CHAR / string instead of " "]
所以如果我打电话
imap.list("/", "*");
服务器返回我
AAAB LIST *
AAAB OK LIST completed
[AAAB OK LIST completed]
但没有列出任何文件夹。因为我可以选择文件夹 Inbox
和 Spamverdacht
,所以显然不止没有文件夹。
此“空结果”之一的完整日志是:
Using secure protocol: SSL
Connecting to server imap.gmx.net on 993
- OK [CAPABILITY IMAP4rev1 CHILDREN ENABLE ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ MOVE NAMESPACE SASL-IR SORT SPECIAL-USE THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN AUTH=LOGIN AUTH=PLAIN] IMAP server ready H migmx029 104568 IMAP-0LaTV9-1ZTDW43mbH-00lcpb
AAAA LOGIN *******
AAAA OK LOGIN completed
AAAB LIST / *
AAAB OK LIST completed
[AAAB OK LIST completed]
AAAC LOGOUT
- BYE Server logging out
AAAC OK LOGOUT completed
我的错误是什么?
最佳答案
听起来它没有进行正确的转义。
尝试 imap.list("\"\"", "\"*\""),它被放在转义引号中。
关于java - Apache Commons Net IMAPsClient 列表命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737886/