我们正在使用Godaddy电子邮件服务器。我们正在尝试使用IMAP协议获取电子邮件。以下是我的IMAP命令示例
a select inbox
a UID SEARCH FROM "user1@server.com"
以上命令的结果正好如下
* SEARCH 501 505 342 229 191
a OK SEARCH done.
如果我为上述命令编写等效的Java代码,我会得到空的结果。以下是Java代码。
IMAPFolder inbox = store.getFolder("INBOX");
SearchTerm fromTerm = new FromTerm(new InternetAddress("user1@server.com"));
Message[] messages = inbox.search(fromTerm);
为上述Java代码生成的IMAP命令是
a SEARCH FROM user1@server.com ALL
但上面java生成的命令中缺少UID,所以我得到空结果。如何在使用Java时包含UID
由于
答案 0 :(得分:0)
SEARCH命令中的UID标记表示应返回UID而不是消息序列号。由于JavaMail主要用于消息序列号,因此它不支持UID SEARCH。它使用返回的消息序列号映射到相应的Message对象。尽管如此,消息应该“找到”,而不管它们的UID或它们的消息序列号是否被返回。如果服务器仅返回UID SEARCH的结果,则服务器已损坏,您应该将此服务器错误报告给GoDaddy。