Java IMAP搜索命令的替代选项

Java IMAP搜索命令的替代选项,java,email,search,imap,Java,Email,Search,Imap,我需要IMAP搜索命令“搜索1:*未查看未删除””的替代选项,因为电子邮件服务器禁止搜索命令。我尝试使用“状态(未查看)”,但它总是返回零,尽管有未读消息。这个命令还有其他选择吗?提前感谢。您的问题是IMAP服务器根本不支持搜索,还是它不喜欢您特定的搜索命令?如果是后者,我们可以简化: A SEARCH UNSEEN UNDELETED (如1:是隐式的)。更简单的方法是——以防服务器不喜欢并将搜索术语放在一起——是: A SEARCH UNSEEN B SEARCH DELETED 在代码

我需要IMAP搜索命令“搜索1:*未查看未删除””的替代选项,因为电子邮件服务器禁止搜索命令。我尝试使用“状态(未查看)”,但它总是返回零,尽管有未读消息。这个命令还有其他选择吗?提前感谢。

您的问题是IMAP服务器根本不支持
搜索
,还是它不喜欢您特定的
搜索
命令?如果是后者,我们可以简化:

A SEARCH UNSEEN UNDELETED
(如
1:
是隐式的)。更简单的方法是——以防服务器不喜欢并将
搜索
术语放在一起——是:

A SEARCH UNSEEN
B SEARCH DELETED
在代码中逻辑地执行and

暴力的方式是:

C UID FETCH 1:* FLAGS
然后选择所有既没有
\Seen
也没有
\Deleted
的。(我建议使用
UID FETCH
,因为类似的
FETCH
命令将在空文件夹上返回
BAD
。)

还有:

注意:STATUS命令用于访问 当前选定邮箱以外的邮箱的状态 邮箱因为STATUS命令会导致 要在内部打开的邮箱,因为 可通过其他方式在所选设备上获取信息 邮箱,不应在上使用STATUS命令 当前选定的邮箱


“禁止搜索命令”是什么意思?你是使用自己的IMAP客户端还是使用JavaMail?你好,dkarp,我使用k9mail作为我的电子邮件客户端。我发现search命令缺少uid参数。我使用了“uid全部搜索”而不是“全部搜索”,而且效果很好。