问题描述
我正在尝试使用 IMAP 对 Gmail 邮箱执行 IMAP 搜索。特别是,我试图找到具有已知 Message-ID 标头的消息的 UID。我知道这条消息存在,因为我刚刚添加了它(我可以在以下搜索查询 Rfc822msgid:<D7DA993B.B30DC%[email protected]ottingham.ac.uk>
在 Gmail 用户界面中)。仅当 Message-ID 字段包含“%”时才会出现此问题。我试图以多种方式引用它,但没有运气:
没有引用:
SEND: "000004 UID SEARCH HEADER Message-ID <D7DA993B.B30DC%[email protected]ottingham.ac.uk>"
SEND: "\r\n"
RECV: "000004 BAD Could not parse command\r"
反斜杠引用:
SEND: "000004 UID SEARCH HEADER Message-ID <D7DA993B.B30DC\\%[email protected]ottingham.ac.uk>"
SEND: "\r\n"
RECV: "000004 BAD Could not parse command\r"
反斜杠和双引号:
SEND: "000004 UID SEARCH HEADER Message-ID \"<D7DA993B.B30D\\%[email protected]ottingham.ac.uk>\""
SEND: "\r\n"
RECV: "000004 BAD Could not parse command\r"
最后,只使用双引号没有报错,但是找不到消息:
SEND: "000004 UID SEARCH HEADER Message-ID \"<D7DA993B.B30DC%[email protected]ottingham.ac.uk>\""
SEND: "\r\n"
RECV: "* SEARCH\r"
RECV: "000004 OK SEARCH completed (Success)\r"
在此 question 之后,我还尝试搜索消息 ID 的片段,但没有成功:
HaskellNet-SSL SEND: "000004 UID SEARCH HEADER Message-ID D7DA993B.B30DC HEADER Message-ID [email protected]ottingham.ac.uk"
HaskellNet-SSL SEND: "\r\n"
HaskellNet-SSL RECV: "* SEARCH\r"
HaskellNet-SSL RECV: "000004 OK SEARCH completed (Success)\r"
如何格式化搜索查询以查找 Message-Id 中带有“%”的消息?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)