首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python imaplib不能从地址中搜索

Python imaplib不能从地址中搜索
EN

Stack Overflow用户
提问于 2016-11-21 16:51:00
回答 2查看 3.1K关注 0票数 0

我在找与地址匹配的邮件。我看过这个答案,但它对我不起作用。

以下是相关代码:

代码语言:javascript
运行
复制
import imaplib

conn = imaplib.IMAP4_SSL(IMAPserver)
conn.login(IMAPuserName, IMAPpassword)
retVal, data = conn.select("INBOX")
    if retVal != "OK":
        <PRINT SOME ERROR MESSAGE>
        sys.exit(1)

所有这些都有效。以下是一些不起作用的搜索命令的变体:

代码语言:javascript
运行
复制
retVal, data = conn.search(None, 'UNSEEN HEADER FROM "foo@example.com"')

retVal, data = conn.search(None, 'UNSEEN FROM "foo@example.com"')

retVal, data = conn.search(None, 'FROM "foo@example.com"')

retVal, data = conn.search(None, 'HEADER FROM "foo@example.com"')

所有这些都会导致这样的错误:

代码语言:javascript
运行
复制
    imaplib.error: SEARCH command error: BAD ['Error in IMAP command SEARCH: 
Unexpected string as search key: FROM "foo@example.com"']

我已经参考了IMAP v4 RFC的相关部分,但我不知道我到底做错了什么。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-28 13:46:12

我设法从管理IMAP服务器的人那里获得了信息。这是一个服务器问题,与代码无关。

所讨论的IMAP服务器是Dovecot的定制版本。它实际上索引所有邮箱,以使搜索等更快。在这种情况下,我邮箱的索引已经损坏。重新编制索引解决了这个问题。

票数 2
EN

Stack Overflow用户

发布于 2016-11-21 17:13:10

如文档处理中的示例所示,IMAP.search()期望搜索参数为单独的位置参数,而不是单个字符串:

代码语言:javascript
运行
复制
conn.search(None, 'UNSEEN', 'HEADER', 'FROM', 'foo@example.com')
conn.search(None, 'UNSEEN', 'FROM', 'foo@example.com')
conn.search(None, 'FROM', 'foo@example.com')
conn.search(None, 'HEADER', 'FROM', 'foo@example.com')

如果您传递一个参数,imaplib将把它作为一个引用的参数传递给SEARCH命令。

但是,您也不能依赖这一点,因为引用只发生在Python2.x imaplib上。Python3.x imaplib不为您和那个特定的错误仍然是开放的引用。

有一种方法--正如文档中所述--是将论点作为一个列表“预先引用”:

代码语言:javascript
运行
复制
conn.search(None, '(UNSEEN HEADER FROM foo@example.com)')
conn.search(None, '(UNSEEN FROM foo@example.com)')
conn.search(None, '(FROM foo@example.com)')
conn.search(None, '(HEADER FROM foo@example.com)')

但是,正如@Max所指出的,某些IMAP服务器不支持这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40725315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档