Python чтение общей папки входящих сообщений Outlook, поиск текста в подпункте или теле, если он найден, создание новой папки или перемещение в существующую - PullRequest
0 голосов
/ 09 января 2020

У меня есть общий почтовый ящик, который получает сообщения с "ABC-*****" в теме или теле. Давайте назовем это классификатором.

Я хочу написать некоторый код python, который будет сканировать этот общий почтовый ящик и проверять классификатор. Если письмо найдено, переместите его в папку внутри общего адреса с именем классификатора, либо создайте новую папку, если она не существует, либо добавьте сообщение в существующую папку с таким именем.

Я могу использовать Alteryx чтобы запланировать эту процедуру так, чтобы просто искать, создать / проверить папку из темы / тела, переместить код.

1 Ответ

0 голосов
/ 10 января 2020

Работа с расширениями pywin32, Python для Microsoft Windows, обеспечивающими доступ к большей части Win32 API

Для доступа к общая папка «Входящие» try

import win32com.client

Outlook = win32com.client.Dispatch("Outlook.Application")
olNs = Outlook.GetNamespace("MAPI")
shared_inbox = olNs.Folders["Shared_Inbox_Email@email"].Folders["Inbox"]

, а затем фильтрация писем по темам с использованием Items.Restrict метод (Outlook)

Filter = ("@SQL=" + chr(34) + "urn:schemas:httpmail:subject" +
          chr(34) + " Like 'subject line here'")

Items = shared_inbox.Items.Restrict(Filter)

for Item in Items:
    Item.Display()

Или переместить элемент в подпапку

sub_folder = shared_inbox.Folders["sub_folder_name"]
for Item in Items:
    Item.Move(sub_folder)

...