首页 > 解决方案 > 是什么导致“NO UID SEARCH 状态错误”

问题描述

我有一个通过 TCP/Sockets 连接的脚本,验证 SSL,然后检查来自流的响应是否返回“OK”。然后它发送一个 UID 搜索命令:
{tag} UID SEARCH (UNDELETED) (SENTSINCE "{RFC2060 Format Date}")

然后,我进行另一次OK检查以及* SEARCH流响应检查。当这两个都不正确时,我总是会从流中得到这个结果:xm005 NO UID SEARCH State error

我不确定,但如果电子邮件没有未删除的收件箱或其他东西,这可能会返回吗?


这似乎一直发生在我的一个中国朋友在yeah.net(163-中国相关的电子邮件服务)上的特定帐户上。

当我使用 Windows 10 的邮件应用程序登录它时,我可以看到它有中文收件箱。是否有可能与导致此问题的原因有关?

在此处输入图像描述

我本质上是想在自发送日期内搜索尚未删除的每封电子邮件,也许 (UNDELETED) 不是全局声明,而是实际的收件箱或其他什么?


根据 IMAPv4.1 的 RFC:

UNDELETED
Messages that do not have the \Deleted flag set.

所以也许它与收件箱无关?尽管这很奇怪,这发生在两封电子邮件上都有中文收件箱,但我的英文收件箱却很出色。


我删除(UNDELETED)并尝试运行,并且发生了同样的问题,所以不是这样。

标签: imap

解决方案


错误消息中的“状态”可能意味着“您的状态不包括邮箱”。确保在之前发出SELECT命令UID SEARCH


推荐阅读