imap - 是什么导致“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)
并尝试运行,并且发生了同样的问题,所以不是这样。
解决方案
错误消息中的“状态”可能意味着“您的状态不包括邮箱”。确保在之前发出SELECT
命令UID SEARCH
。
推荐阅读
- c - C:将一维字符指针数组存储到二维字符数组中
- phpmyadmin - xampp phpmyadmin 错误 - #1932 - Xampp 7.3.8 新版本的引擎中不存在表 'phpmyadmin.pma__userconfig'
- javascript - Ramda 中的简单无点函数
- javascript - Ajax 获取文件 - 内容在哪里加载?
- vbscript - 是什么导致了我的 hta 文件中的视觉故障
- java - 如何在处理超过 800 万条记录时提高 Spring 批处理性能
- vue.js - vuex 基本状态在模块之间共享
- java - 在 android Studio 钢琴练习中使用 SoundPool 播放并行声音的问题
- jquery - 使用 Laravel Carbon 将日期保存为 MySQL 格式
- python-3.x - 如何修复“将数据从 flask-socketio 事件处理程序传递到 Flask-SQLAlchemy”