1

Фон:

Каждый рабочий день я получаю электронное письмо от известного отправителя. Отправитель помещает вложение в сообщение электронной почты. Я должен обработать это вложение с помощью скрипта Python.

Вопрос:

Каков наилучший (автоматический) способ для меня получить вложение из Outlook и на мою учетную запись оболочки (или локальную файловую систему), чтобы я мог обработать его с помощью сценария, без необходимости каждый день открывать файл вручную и сохранять вложение?

3 ответа3

6

Я исследовал то же самое, и я нашел сценарий.

  1. Вы должны открыть внешний вид, затем нажать Alt + F11
  2. На левой панели разверните Объекты Microsoft Outlook.
  3. Дважды щелкните ThisOutlook Session
  4. Скопируйте и вставьте этот код:

    (Примечание: в "Const save_path As String =" c:\Temp\"" (замените "c:\Temp\" на путь к вашему файловому серверу. Не забывайте заканчивать путь всегда знаком "\")

    Sub SaveToFolder(MyMail As MailItem)
    Dim strID As String
    Dim objNS As Outlook.NameSpace
    Dim objMail As Outlook.MailItem
    Dim objAtt As Outlook.Attachment
    Dim c As Integer
    Dim save_name As String
    'Place path to sav to on next line. Note that you must include the
    'final backslash
    Const save_path As String = "c:\Temp\"
    
    strID = MyMail.EntryID
    Set objNS = Application.GetNamespace("MAPI")
    Set objMail = objNS.GetItemFromID(strID)
    
    If objMail.Attachments.Count > 0 Then
    For c = 1 To objMail.Attachments.Count
    Set objAtt = objMail.Attachments(c)
    save_name = Left(objAtt.FileName, Len(objAtt.FileName) - 5)
    save_name = save_name & Format(objMail.ReceivedTime, "_mm-dd-yyyy_hhmm")
    save_name = save_name & Right(objAtt.FileName, 5)
    objAtt.SaveAsFile save_path & save_name
    
    Next
    End If
    
    Set objAtt = Nothing
    Set objMail = Nothing
    Set objNS = Nothing
    End Sub
    
  5. Зайдите в Debug в меню и скомпилируйте ...

  6. Закрыть экран VB
  7. Перейдите к правилам и создайте правило: при получении электронного письма от человека, которого вы указали в группе рассылки, запустите скрипт (выберите скрипт (ваш скрипт будет указан в списке)). Я бы добавил уведомление с правилом, чтобы вы знали, что правило также запускало правило для перемещения электронной почты в определенную папку.
  8. Закройте и снова откройте Outlook.
4

Я предполагаю, что у вас есть сервер Exchange, с которым общается Outlook. IMAP включен на сервере? Если это так, то должно быть достаточно тривиально написать программу, которая ищет на сервере IMAP письмо от конкретного отправителя, полученное в течение последних 24 часов, и анализирует (как я предполагаю, что) вложение MIME.

2

Усовершенствованный процессор ETL может автоматически отвечать на электронные письма, сохранять вложения и обрабатывать электронные письма на основе различных правил

http://www.dbsoftlab.com/etl-tools/advanced-etl-pocessor-news/loading-excel-files-from-emails-questions-from-the-customer.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .