应用过滤器以在 win32com 中读取来自多个 SenderEmailAddress 的电子邮件

Applying filter to read emails from multiple SenderEmailAddress in win32com

我正在尝试阅读从特定电子邮件地址(超过 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') "