我通过python访问GMail的IMAP接口.我运行这样的命令:
UID SEARCH HEADER Message-ID "abcdef@abc.com"
Run Code Online (Sandbox Code Playgroud)
成功(返回匹配消息的1个UID,如果不存在则返回0).但是,如果搜索文本包含某些字符(例如&或!),则会在该点截断搜索文本.这意味着:
UID SEARCH HEADER Message-ID "!abcdef@abc.com"
Run Code Online (Sandbox Code Playgroud)
被对待是一样的
UID SEARCH HEADER Message-ID ""
Run Code Online (Sandbox Code Playgroud)
也:
UID SEARCH HEADER Message-ID "abc!def@abc.com"
Run Code Online (Sandbox Code Playgroud)
被视为:
UID SEARCH HEADER Message-ID "abc"
Run Code Online (Sandbox Code Playgroud)
我已经完成了IMAP语言规范,而且从ABNF语言规范来看,这些字符似乎应该是有效的.为什么gmail会在"!"处截断这些搜索短语 和"&"字符?有办法逃脱他们吗?(我试过了!,作为一个编码严重的字符串失败了).是否有RFC或doc显示真正应该接受的内容?这是gmail的imap实现中的错误吗?
我也试过文字格式,结果相同:
UID SEARCH HEADER Message-ID {15}
abc!def@abc.com
Run Code Online (Sandbox Code Playgroud)
仍被视为:
UID SEARCH HEADER Message-ID {3}
abc
Run Code Online (Sandbox Code Playgroud)
谢谢!
IMAP RFC3501搜索命令:http ://tools.ietf.org/html/rfc3501#section-6.4.4 正式语法:http://tools.ietf.org/html/rfc3501#section-9
小智 2
几个月来我自己一直在解决这个问题。
搜索标头消息 ID <-!&!...>
最终跳过了一些以“<-”开头的 MsgId 搜索。另请参阅 &! 的问题...不知道如何解决这个问题。
您收到过 Google 关于此错误的消息吗?
非常感谢
| 归档时间: |
|
| 查看次数: |
2963 次 |
| 最近记录: |