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