python - 应用过滤器读取来自 win32com 中多个 SenderEmailAddress 的电子邮件
问题描述
我正在尝试阅读从特定电子邮件地址(超过 1 个)收到的电子邮件。对于单一用例,以下代码似乎有效 -
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items.Restrict("[SenderEmailAddress] = 'abc@xyz.com' ")
为了提供多个电子邮件 ID 作为过滤器,我尝试了以下两种方法,但这不起作用 -
messages = inbox.Items.Restrict("[SenderEmailAddress] = 'abc@xyz.com; mno@xyz.com' ")
messages = inbox.Items.Restrict("[SenderEmailAddress] In ['abc@xyz.com', 'mno@xyz.com'] ")
在这种情况下,如何提供多个过滤器值?
解决方案
您需要使用OR
运算符包含多个条件:
" ([SenderEmailAddress] = 'abc@xyz.com' ) or ([SenderEmailAddress] = 'mno@xyz.com') "
推荐阅读
- r - 热图中树状图的颜色
- datatable - DataTables 导出不适用于更新的页脚内容
- semantic-ui-react - Semantic-ui-react 输入字段自动提交触发错误行为
- javascript - 如何使用 JQuery 在 MVC 中删除选中的行
- c++ - 是否可以在不运行 TensorFlow 图的情况下使用 TensorFlow C++ API 进行形状推断?
- sql - 在动态 SQL 查询中返回 To 和 From 日期之间的数据
- spring-boot - 控制器spring boot中的父子关系
- excel - 公式返回 true,但不会发生格式化
- java - Spring Framework 和 rpmbuild:无法获取用于条目的嵌套存档
- facebook - Facebook 应用审核无法生成页面访问令牌