Автосохранение вложения электронной почты - PullRequest
1 голос
/ 07 ноября 2019

Мне нужен простой код для сохранения файла, получаемого по электронной почте каждый час - я хочу сохранить его в папке на рабочем столе под тем же именем при сохранении.

Пока у меня есть следующее:

Public Sub saveAttachtoDisk(itm As Outlook.MailItem)

1 Ответ

0 голосов
/ 07 ноября 2019

Для обработки входящих писем вам необходимо подключиться к событию NewMailEx класса Applicaiton. Событие NewMailEx возникает, когда новое сообщение поступает в папку «Входящие» и до обработки правила клиента. Вы можете использовать идентификатор записи, возвращенный в массиве EntryIDCollection, чтобы вызвать метод NameSpace.GetItemFromID и обработать элемент. Для пользователей с учетной записью Exchange Server (режим без кэширования Exchange или режим кэширования Exchange) событие будет срабатывать только для сообщений, поступающих на сервер после запуска Outlook. Событие не будет срабатывать для сообщений, которые синхронизируются в режиме кэширования Exchange сразу после запуска Outlook, а также для сообщений, которые уже находятся на сервере, когда Outlook запускается в режиме без кэширования Exchange.

После получения входящей электронной почты выможет сохранять вложения на диск:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...