Microsoft Outlook - Автоответ на входящее письмо с цитированием


: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/users/d/dm9/domains/mokshin.su/includes/unicode.inc on line 311.

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

Вариант 1.

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

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

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

    а) лента Главная / Правила / Управление правилами и оповещениями...
    б) в окне Правила и оповещения - Новое...
    в) в окне Мастер правил - Начать с пустого правила / Применить правила к полученным мной сообщениям
    г) Какие сообщения следует отбирать: Шаг 1. Выберите условия отбора - например, от <адресаты или общедоступная группа> - Шаг 2: внести нужный, нажать Далее >
    д) Что следует сделать с сообщением? - Шаг 1. Выберите действия - потребовать сервер ответить через <текст> - Шаг 2 - кликнуть на <текст> - откроется новое сообщение, его можно сформировать так, как вам нужно, потом нажать в ленте Сохранить и закрыть. В окне Мастер правил нажать Далее >
    е) если нужно - настроить исключения из правила, нажать Далее >
    ж) ввести имя правила, поставить флаг Включить правило и нажать Готово
    з) в окне Правила и оповещения нажать ОК

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

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

Вариант 2.

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

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

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

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

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

Шаблон делается просто: нужно создать новое письмо в нужном виде, и не отправлять его, а сохранить - в окне сообщения лента Файл / Сохранить как, в окне сохранения выбрать Тип файла = Шаблон Outlook (*.oft), при этом путь, который выберет Outlook для сохранения лучше не менять - пусть храниться в стандартной папке шаблонов.

    д) Что следует сделать с сообщением? - Шаг 1. Выберите действия - ответить используя <указанный шаблон> - Шаг 2 - кликнуть на <указанный шаблон> - откроется окно выбора шаблона, в нем выбрать Папки = Шаблоны в файловой системе, выбрать нужный шаблон, нажать Открыть. В окне Мастер правил нажать Далее >

Вариант 3.

Самый лучший! ;-)

Настроить правило, которое будет обрабатываться на клиенте и запускать нужный скрипт-макрос. При этом в скрипте мы можем сделать с сообщением практически всё, что захотим.

Минус только один - т.к. правило наботате только на клиенте, письмо будет отправлено только при запуске сессии 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

   strMessageClass = AItem.MessageClass

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

     mReply.HTMLBody = strMsg & mReply.HTMLBody

     mReply.Send

     Set mReply = Nothing
   End If

End Sub

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

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

    д) Что следует сделать с сообщением? - Шаг 1. Выберите действия - запустить скрипт - Шаг 2 - кликнуть на скрипт - в окне Выбор сценария выбрать скрипт, который создали - ReplyAuto, и нажать ОК. В окне Мастер правил нажать Далее >

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


Сыылки по теме:
VBA for Outlook: Тело письма вставляется под подписью
Outlook VBA


Нравится


Последние комментарии