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