Java IMAP搜索命令的替代选项
我需要IMAP搜索命令“搜索1:*未查看未删除””的替代选项,因为电子邮件服务器禁止搜索命令。我尝试使用“状态(未查看)”,但它总是返回零,尽管有未读消息。这个命令还有其他选择吗?提前感谢。您的问题是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 在代码
搜索
,还是它不喜欢您特定的搜索
命令?如果是后者,我们可以简化:
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全部搜索”而不是“全部搜索”,而且效果很好。