【发布时间】:2011-09-19 22:52:07
【问题描述】:
是否可以对来自白名单用户的消息进行 imap 搜索?我已经找到了几种适用于两个名称的变体,但我不知道如何概括它。已经尝试阅读 RFC3501 并在谷歌上搜索示例。我正在使用 python 的 imaplib 和 gmail,但我相信这并不重要,因为我的问题是弄清楚搜索字符串的语法。
m = imap(...)
m.search(None, '(OR (FROM "andy@gmail.com") (FROM "beth@gmail.com"))') # works
whitelist = ['andy@gmail.com', 'beth@gmail.com']
searchstring = '(OR ' + ' '.join(['(FROM "' + x + '")' for x in whitelist]) + ')'
m.search(None, searchstring) # works, but doesn't generalize.
【问题讨论】:
-
为什么不概括?你有错误吗?出乎意料的结果?没有结果?
-
有了这种变体,白名单中的后一个名称似乎是 ANDed 而不是 OR ed。我只有两个用户,没有超过两个。