使用完整字符串进行IMAP搜索

时间:2014-11-25 07:03:24

标签: imap

我目前正在尝试搜索收件箱中的一些电子邮件,其中包含“不再工作”的字符串,但问题是imap会返回包含3个字的电子邮件列表,而不是字符串“不再工作”

知道如何解决这个问题吗?我没有包含此字符串的消息,但由于上述问题,IMAP返回了2个结果。

a1 SEARCH BODY "not working anymore" 
* SEARCH 4090 7752

1 个答案:

答案 0 :(得分:2)

在客户端代码中过滤/验证服务器的结果。

更长的答案是IMAP服务器过去常常做你想做的事情,但是随着用户想要更聪明更模糊的搜索,服务器开始实现它。例如,用户希望找到如下消息:

foo foo foo foo foo foo foo not working
anymore foo foo foo foo

空格与您的搜索字词不匹配。你认为服务器应该返回该消息吗?

IMAP规范在这个问题上是无声的。当我读到它时,如果一条消息包含确切的字符串,那么该规范说消息必须与搜索匹配,但如果消息没有,那么......那么,服务器和客户端应该采取行动以满足用户并带来世界和平。这意味着您从服务器获得的搜索结果包含您想要的所有邮件,因此过滤不会遗漏任何结果。