Назад | Перейти на главную страницу

Интервал сообщений об отсутствии на работе в Exchange 2007

В Exchange 2003 я знаю, что только одно сообщение об отсутствии на работе отправляется обратно исходному отправителю, если у вас включен помощник «Нет на рабочем месте» с ответным сообщением.

Что мне интересно, так это то, есть ли в Exchange 2007 способ разрешить отправку сообщения об отсутствии на работе несколько раз отправителю, если он продолжает отправлять несколько почтовых сообщений кому-то, кто находится вне офиса.

Даже если бы сообщение об отсутствии на работе было ограничено только один раз в день, это было бы приемлемо.

Я считаю, что это невозможно с помощью только помощника "Нет на рабочем месте". Это было сделано для того, чтобы остановить бесконечные циклы ООО сообщений, поставив серверы Exchange на колени в случае, если два человека установили ООО сообщений, при этом сообщение отправляется от одного к другому.

Однако это можно сделать с помощью правил сообщений, но это не рекомендуется (по вышеупомянутой причине).

ОБНОВИТЬ:

Хорошо, нашел грязный хак, который позволит вам делать то, что вы просили, но это действительно грязный хакер.

Вам нужно будет настроить сценарий для отдельного пользователя (если у вас много пользователей, им нужен по одному). Поместите сценарий на сервер Exchange и запланируйте запуск сценария один раз в день. Причина, по которой это работает, заключается в том, что каждый раз, когда вы повторно включаете OOA, он стирает список людей, которым он отправил ООО сообщений. Вы, конечно, должны не забыть удалить сценарий, когда пользователь вернется к работе, иначе каждый день он будет повторно включать его OOA.

Кроме того, измените строки 3 и 4 для вашей среды и соответствующего пользователя.

Set objMAPISession = CreateObject(”MAPI.Session”)

strExchangeSvr = "svr-exch-01.yourdomain.loc"
strMailbox = "jane.doe"

strMAPI = strExchangeSvr & vbLf & strMailbox

On error Resume Next

objMAPISession.Logon “”, “”, False, True, 0, False, strMAPI

If err <> 0 Then
    Wscript.Echo “An Error occured: ” & err.description
    Err.clear
    Wscript.Sleep 7000
    Wscript.Quit
End If

strOOOMessage = "Jane is having babies and will be absent for a while.  Please try again after October.  Ciao"

objMAPISession.OutOfOffice = False
objMAPISession.OutOfOfficeText = strOOOMessage 
objMAPISession.OutOfOffice = True
strOOOMessage = objMAPISession.OutOfOfficeText

objMAPISession.Logoff
Set objMAPISession = Nothing

Обратите внимание: я не тестировал это. Вам нужно будет развернуть его с тестовым почтовым ящиком и провести с ним некоторое тестирование.

Вау, после этого мне нужно принять душ.

Интересно, что когда я приступил к этой работе, я пришел из среды GroupWise и перешел в среду Exchange. Агент ООО для Exch 2003 не обладал всеми функциями, которые мне требовались в моем уведомлении об отсутствии на работе, поэтому я создал свое собственное правило. Поскольку я решил проблему петель еще на GW, я смог установить для нее правила.

Что я сделал:

  • Задайте текст ответа, чтобы добавить что-нибудь (я использовал "-Vacation") в тему.
  • Установите исключение для правила, чтобы оно не запускалось, если эта строка находится в теме
  • Настройте его так, чтобы он срабатывал только при отправке напрямую мне (то есть мое имя указано в строках Кому: или Копия:), чтобы люди, отправляющие в мои группы, не получали бомбардировку почты.
  • Настройте условное выражение «Между этими датами», чтобы можно было установить его за несколько дней.

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