python - imap SEARCH 如何在 Microsoft Exchange 上使用 python imaplib 工作?
问题描述
我的目标是使用 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 日”)'
- 如果这些都不是我的程序无法运行的原因 - 我做错了什么才能从某个日期收到电子邮件?
这些问题的任何答案都会帮助我解决我的困惑,非常感谢;)
解决方案
推荐阅读
- excel - 有没有办法添加一个切换来切换数据透视表中正在聚合的值?
- azure - Azure PaaS 本地设置
- javascript - 遍历 Typescript 中的 Object 键
- c - 将对象定义为函数的静态成员时,“初始化程序元素不是常量”
- python - 将 wxWindows 框架拟合到网格
- react-native - 反应原生 tcp 发送字节数组
- python - AttributeError:“org.modelio.metamodel.impl.uml.behavior.activityMo”对象没有属性“getOwnedNode”
- python - 如何解决Pycharm中无法安装lxml和pandas包的问题?
- node.js - 需要 SOAP - Node JS 包失败并在 AWS Lambda 中出现导入错误
- excel - 范围内每个单元格的不同颜色