#python #python-3.x #outlook #com #outlook-object-model
#python #python-3.x #outlook #com #outlook-object-model
Вопрос:
Я пытаюсь автоматизировать получение вложений из определенных электронных писем, и документация для win32com.client ужасна.
Пока у меня есть следующее:
import win32com.client as win32
import os
outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.Folders["Payments"].Folders["Inbox"]
messages = inbox.Items
for i in range(10):
message = messages.GetNext()
print(message.Sender)
print(message.Subject)
print(message.ReceivedTime)
attachment = message.attachments
for j in attachment:
j.SaveAsFile(os.getcwd() "\" j.FileName)
Однако я хочу получать вложения только от say «payments@email.com «чего я никак не могу понять, как это сделать.
Есть ли способ получать электронные письма и их вложения только от определенных отправителей (бонус, если я также могу отфильтровать заголовок письма)?
Ответ №1:
Используйте ограничение, подобное filteredItems = Inbox.Items.Restrict("[SenderEmailAddress] = 'payments@email.com' ")
документации по адресу https://learn.microsoft.com/en-us/office/vba/api/outlook.items.restrict