微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

imap SEARCH 如何使用 python imaplib 在 Microsoft Exchange 上工作?

如何解决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")'))

现在我的问题如下:

  1. 我的假设是否正确,即两条错误消息的意思是“不支持”和“支持但语法错误”?
  2. 有什么方法可以查看允许的搜索参数吗?
  3. 服务器期望什么日期格式? (这个问题已经回答了,ty)
  4. 我的代码的语法是否正确? '(日期“2021 年 7 月 7 日”)'
  5. 如果这些都不是我的程序无法运行的原因 - 为了从某个日期开始接收电子邮件,我做错了什么?

对这些问题的任何回答都会帮助我解决我的困惑,非常感谢;)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。