如何解决imap SEARCH 如何使用 python imaplib 在 Microsoft Exchange 上工作?
我的目标是使用 python 中的 imaplib 从 Microsoft 交换服务器获取自某个日期以来收到的电子邮件列表。
到目前为止,我发现 Exchange 不支持 sort
命令。但是 search
也不能很好地工作:只有几个搜索参数可以正常工作,例如 FROM
关键字。但是对于我的程序,我需要阅读日期,并且我已经尝试了所有可以在互联网上找到的相关关键字:
'ON' 和 'SINCE' 导致以下错误消息:imaplib.error: SEARCH command error: BAD [b'Command Argument Error. 11']
我想这意味着 Exchange 不支持它们。
'DATE' 抛出一个不同的异常:imaplib.error: SEARCH command error: BAD [b'The specified message set is invalid.']
我想这意味着服务器确实支持 DATE
但不能处理我的数据。因此我尝试了几种日期格式,因为我不知道服务器需要哪种格式:"2021-07-17"
据我所知应该是正常格式"2021-Jul-17"
"17-Jul-2021"
和 "17-07-2021"
但它们都会导致之前显示的相同错误消息。
这是我的代码,也许我只是以错误的方式发送了数据? :
imap = imaplib.IMAP4_SSL(imapserver)
imap.login(username,pwd)
status,messages = imap.select(folder)
print(imap.search(None,'(DATE "07-Jul-2021")'))
现在我的问题如下:
- 我的假设是否正确,即两条错误消息的意思是“不支持”和“支持但语法错误”?
- 有什么方法可以查看允许的搜索参数吗?
- 服务器期望什么日期格式? (这个问题已经回答了,ty)
- 我的代码的语法是否正确? '(日期“2021 年 7 月 7 日”)'
- 如果这些都不是我的程序无法运行的原因 - 为了从某个日期开始接收电子邮件,我做错了什么?
对这些问题的任何回答都会帮助我解决我的困惑,非常感谢;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。