Outlook правило запустить скрипт

Обновлено: 05.07.2024

Почтовый клиент Microsoft Outlook широко используется самыми разными пользователями — и корпоративными и домашними. Это неудивительно, поскольку возможности данного клиента впечатляют, да и работать в нем довольно удобно. Вместе с тем при желании решение разнообразных задач в Outlook можно еще больше упростить и ускорить. Как? Снабдив клиент набором подходящих дополнений, которые позволят автоматизировать ряд рутинных задач и процессов. Подобные дополнения мы и рассмотрим в данной статье.

Ускоренная подготовка корреспонденции

Гораздо эффективнее подготовить шаблоны и подписи средствами плагинов Potolook, Quick Templates либо Live Signatures. С помощью первых двух несложно создать нужный набор шаблонов — как минимум, разные шаблоны для деловой и личной переписки, а плагин Live Signatures расширит возможности применения автоподписей. После этого при написании писем уже не придется вручную вводить приветствие и подпись, вставлять иные часто употребляемые фразы и прочее, а значит, удастся избежать лишних хлопот.

Рисунок

Рисунок

Рис. 2. Редактирование шаблона в Quick Templates

Рисунок

Рис. 3. Изменение параметров встроенного
стандартного шаблона в Potolook

Рисунок

Рис. 4. Корректировка шаблона в редакторе шаблонов Potolook

Рисунок

Рис. 5. Настройка автоподписи в Live Signatures

Рисунок

Рис. 6. Настройка автоматического выбора учетной записи
в Message AutoFill

Теоретически настроить автоматический выбор нужной учетной записи в зависимости от папки можно и с помощью плагина Potolook. Однако в нем это реализуется путем создания для рабочей и домашней папок разных шаблонов с последующей корректировкой в них в секции Инициализация имени учетной записи (строка Account), что не совсем очевидно.

Рисунок

Рис. 7. Отправка персональных писем группе адресатов
с помощью Send Personally

Рисунок

Рис. 8. Формирование правила в File Send Automatically

Рисунок

Рис. 9. Предупреждение об отсутствии вложения
в отправляемом документе в Attachments Forget

Рисунок

Рис. 10. Настройка списка ключевых фраз в Attachments Forget

Сортировка и анализ корреспонденции

Рисунок

Рис. 11. Настройка расширенной сортировки с помощью Potolook

Рисунок

Рис. 12. Формирование правила в Advanced Folders Watch

Если вы предпочитаете изучать присланную корреспонденцию в печатном виде, то стоит автоматизировать этот процесс. Это можно сделать встроенными средствами Outlook через правила, но при этом не удастся распечатывать вложения отдельно от писем и устанавливать список конкретных расширений, которые могут либо не могут выводиться на печать. Кроме того, в Outlook для печати письма со списком вложений требуется сменить формат письма с HTML на RTF или TXT, иначе список вложений не будет отображаться в заголовке письма.

Рисунок

Рис. 13. Настройка автоматической печати
через Print Tools for Outlook

Организация работы с вложениями

Рисунок

Рис. 14. Настройка Attachments Processor
на автоматическое извлечение вложений

Рисунок

Рис. 15. Создание правила для автоматического сохранения
вложений в Potolook

Допускается не только автоматическое извлечение вложений из писем, но и их архивирование. Помогут в этом дополнения Attachments Zip Compressor (ныне входит в состав комплексного решения Attachments Processor) и Potolook.

Рисунок

Рис. 16. Настройка плагина Attachments Zip Compressor
на автоматическое архивирование вложений

Рисунок

Рис. 17. Создание правила для автоматического сжатия вложений
через Potolook

Автоматическое создание контактов

Рисунок

Рис. 18. Настройка параметров автоматического
добавления контактов при помощи Add Contacts

Быстрая синхронизация данных

Если вы работаете на нескольких компьютерах (скажем, рабочем, домашнем и ноутбуке) и/или на одном и том же, но в разных ОС, то проблема синхронизации почты, контактов и задач в разных PST-файлах знакома вам не понаслышке. Для ее решения существуют разные способы, самый быстрый — это применение специальных программ.

Если нужно, чтобы на входящее собщение у вас автоматически формировался ответ определенного содержания, есть 3 варианта, как это можно сделать в Outlook при помощи правил.

Настроить правило, которое будет обрабатываться на сервере и формировать нужный ответ. Условия срабатывания правила, понятно, могут быть любые - если письмо от какого-то конкретного отправителя, если в теме или тексте содержится некая строка и т.д. и т.п.

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

Настраиваем так (для Microsoft Outlook 2013):

Вуаля - как только на сервер поступит письмо, сработает правило и отправителю уйдет настроенное нами письмо.

Настроить правило, которое будет обрабатываться на клиенте - при этом будет отправлено письмо из шаблона.

Минус такой же - письмо отправляется в том виде, в котором сформирован шаблон - без цитирования входящего.

Еще один минус - т.к. правило наботате только на клиенте, письмо будет отправлено только при запуске сессии Outlook (самим Outlook'ом).

Но самый главный минус, о котором мало где упоминается, такие правила срабатывают только по одному разу для отправителя за время сессии Outlook (об этом здесь).

Настройка аналогична Варианту 1, за исключением пункта д). И еще предварительно нужно сделать шаблон письма.

Минус только один - т.к. правило наботате только на клиенте, письмо будет отправлено только при запуске сессии Outlook (самим Outlook'ом).

Вот простейший вариант скрипта. Его недостаток в том, что текст ответа не внедряется в тело HTML в рамках тега <body>. Но при небольших умениях это несложно доработать. ;-)

Public Sub ReplyAuto(AItem As Outlook.MailItem)
Dim strMessageClass As String
Dim mReply As Outlook.MailItem

Dim strMsg As String

strMsg = "Добрый день! <br>" & vbCrLf _
& "Ваше письмо получено.<br>" & vbCrLf _
& "<br>" & vbCrLf

If (strMessageClass = "IPM.Note") Then
Set mReply = AItem.ReplyAll
'mReply.BCC = AItem.BCC

mReply.HTMLBody = strMsg & mReply.HTMLBody

Set mReply = Nothing
End If

Для редактирования скрипта дрлжен быть включен пункт ленты Разработчик (Параметры / Настроить ленту, поставить флаг Разработчик). Далее: лента Разработчик / Visual Basic. В редакторе VBA в левой панели (Project - Проект1) двойной щелчток по ThisOutlookSession (в дереве Проект1 / Microsoft Outlook Objects) - и в правой области редактирования вставляем текст скрипта.

И нужно опять же выбрать другие параметры в п. д)

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

Private Sub Application_NewMail()
<bla-bla-bla>
End Sub
должно работать.

ova
Я был не прав. Вот пример кода по материалам упомянутого выше сайта.

Private WithEvents olInboxItems As Items

Private Sub Application_Startup()
Dim objNS As NameSpace

Set objNS = Application.GetNamespace("MAPI")
Set olInboxItems = objNS.GetDefaultFolder(olFolderInbox).Items
Set objNS = Nothing
End Sub

Private Sub Application_Quit()
Set olInboxItems = Nothing
End Sub


Private Sub olInboxItems_ItemAdd(ByVal Item As Object)
Dim objNS As NameSpace
Dim objInbox As MAPIFolder
Dim objTestFolder As MAPIFolder

If Item.Class = olMail Then
If InStr(Item.Subject, "Test") > 0 Then
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objTestFolder = objInbox.Folders("TestFolder")
If Not objTestFolder Is Nothing Then
Item.Move objTestFolder
End If
End If
End If

Set objTestFolder = Nothing
Set objInbox = Nothing
Set objNS = Nothing
End Sub

Задача. В outlook приходит письмо примерно следующего содержания:

Дата: 11.03.2007
Время: 20:59:06
Модуль: 1
Ошибка: Обнаружен поток 2 в модуле 3
Код ошибки: 909, категория ошибки: 1

Задача: на основе отправителя "MP64-1Alarm@SMPAlarm" и чисел строки Ошибка: 2 и 3 составить другое письмо, где комбинаця 2 и 3 будут заменены словами, соответствующие этим числам и отправителю

числа хранить можно.. ну где проще для работы.. хоть в *.txt, лучше конечно в *.xls но необязательно.

вид допустим такой

от MP64-1Alarm@SMPAlarm
поток модуль обозначение
1 1 слово_для_1_1
1 2 слово_для_1_2
1 3 слово_для_1_3
2 1 слово_для_2_1
2 2 слово_для_2_2
2 3 слово_для_2_3
3 1 слово_для_3_1
3 2 слово_для_3_2
4 1 слово_для_4_1

от MP64-2Alarm@SMPAlarm
поток модуль обозначение
1 1 слово_для_1_1
1 2 слово_для_1_2
1 3 слово_для_1_3
.


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

Sub SaveAttachments()
Dim objApp As Outlook.Application
Dim objItem As Object
Dim objSelection As Outlook.Selection
Dim objMail As MailItem
Dim AttFolder As String

Set objApp = CreateObject("Outlook.Application")
Set objSelection = objApp.ActiveExplorer.Selection

AttFolder = Trim(InputBox("Задайте имя папки", "Сохранение вложений"))

TL; DR посмотрите на вещи, выделенные жирным шрифтом.

Мой университет использует Office 365 для своих почтовых сервисов. К сожалению, я случайно разместил свое электронное письмо на каком-то вредоносном сайте, или кто-то, кто не любит меня, сделал это. Я получаю от 20 до 50 спам / фишинговых писем в день по таким темам, как:

Это действительно классический спам. Я получаю их из множества разных, казалось бы, случайных писем, а темы / тела писем слишком непоследовательны, чтобы составлять против них правила. Я полагаю, что это исходит из того же источника, потому что он случайно начался однажды и не был медленным наращиванием или чем-то в этом роде. Кроме того, все электронные письма имеют схожее с ними "чувство" (то есть я легко могу просмотреть свою электронную почту и выбрать те, которые являются спамом, а не только маркетинговые электронные письма от местных предприятий и филиалов университетов).

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

Есть ли способ написать этот скрипт в офисе и, если нет, есть ли API, который я могу использовать, чтобы написать этот скрипт на каком-то языке программирования?

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

Кроме того, как вы думаете, это будет эффективным решением? Если вы можете придумать другой способ решить эту проблему, предложите альтернативное решение. Моя электронная почта постоянно загромождена, и я отчаянно пытаюсь это остановить, она невероятно раздражает и отнимает много времени. Также обратите внимание, что я не могу просто получить новое электронное письмо от университета, и оно мне нужно для официальной переписки с университетом.

Читайте также: