3

Существует ли метод на базе Windows, который может автоматически сохранять вложения электронной почты из Outlook 2010 на сервер? Ежедневно я получаю электронное письмо с вложением, которое вручную сохраняю в папку на сервере. Мне нужно автоматизировать этот процесс.

Что я пробовал -

я пытался создать правило в outlook и скрипт к нему. но это только сохраняет вложение в мою локальную папку на моем компьютере. и сохраняет только при открытии внешнего вида. Я хочу сохранить его на сервере и сохранить, даже если Outlook не открыт на сервере. Вот сценарий, который я сохранил в Outlook

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
saveFolder = "D:\newfolder" 
  For Each objAtt In itm.Attachments 
    If InStr(objAtt.DisplayName, ".xls") Then 
    objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName 
    End If 
  Set objAtt = Nothing 
  Next 
End Sub 

2 ответа2

2

Запуск VBA является только клиентской операцией. Это означает, что ваш компьютер должен быть включен, а Outlook должен работать с включенными сценариями. Если у вас не работает Outlook, то, что вы хотите, не возможно. Возможно, есть решение на стороне сервера, но это вопрос к serverfault.com

Если вы хотите обрабатывать вложения в определенных сообщениях электронной почты, это то, что я использую. Это прекрасно работает для меня в Outlook 2013:

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp"
     For Each objAtt In itm.Attachments
          objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
          Set objAtt = Nothing
     Next
End Sub

Последняя часть правила - запустить скрипт.

Для тех, кто не знаком с Outlook VBA, вам нужно вызвать ленту разработчика.

Вставьте приведенный выше код, сохраните VBA, а затем назовите его в своем правиле.

1

Если ваша учетная запись Outlook - POP3 или IMAP, вы не можете запускать макросы или правила, пока ваш клиент закрыт, потому что нет другого способа вызвать ваше событие, кроме входящих сообщений.

Если вы работаете в Outlook на Exchange, вам необходимо создать правило на сервере для вашей учетной записи, чтобы сохранять вложения перед доставкой в папку «Входящие». Правило будет нуждаться в UNC-адресе (\\server\folder , а не в локальном сопоставленном диске (D:\folder), который не распознается сервером.

Имейте в виду, ваш сетевой администратор может отключить серверные правила по соображениям безопасности. Вы должны проверить с ними, чтобы убедиться, что вы можете сделать это.

Дополнительная информация: клиентские и серверные правила

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