Скачать вложение из Outlook, используя Python - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь загрузить вложения из Outlook, используя Python, на данный момент я могу загружать вложения по строке темы, но в моем случае я хочу загрузить несколько вложений из нескольких писем, где строка темы начинается с некоторой строки, например:Темы: Query 123654, Query 56975, Query 5698, как это, и я хочу скачать их все, где имя субъекта начинается с «Query».Мой текущий код ниже:

from win32com.client import Dispatch
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder("6")
all_inbox = inbox.Items
val_date = datetime.date.today()

sub_today = 'Query 123654'
att_today = ''
for msg in all_inbox:
    if msg.Subject == sub_today and msg.Senton.date() == val_date:
        break

for att in msg.Attachments:
    if att.FileName == att_today:
        break

try:
    att.SaveAsFile('C:\\Offline Feeds\\Attachments' + '\\'+ att.FileName)
    messagebox.showinfo("SUCCESSFUL","Attachments Downloaded")
except:
    messagebox.showerror("ERROR","Attachment Download Failed")

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете использовать find () для поиска конкретных данных.

sub_today = 'Query'

if msg.Subject.find(sub_today) != -1 break

Если тема не включает «Запрос», возвращается «-1».

Это полный код:

from win32com.client import Dispatch
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder("6")
all_inbox = inbox.Items
val_date = datetime.date.today()

sub_today = 'Query'
att_today = ''
for msg in all_inbox:
    if msg.Subject.find(sub_today) != -1 and msg.Senton.date() == val_date:
        break

for att in msg.Attachments:
    if att.FileName == att_today:
        break

try:
    att.SaveAsFile('C:\\Offline Feeds\\Attachments' + '\\'+ att.FileName)
    messagebox.showinfo("SUCCESSFUL","Attachments Downloaded")
except:
    messagebox.showerror("ERROR","Attachment Download Failed")

Для получения дополнительной информации,перейдите по этой ссылке:

Python String find () Метод

...