четверг, 25 июля 2013 г.

Запрет отправки сообщения без темы в Outlook 2007



Думаю многие сталкивались с пользователями, которые ленятся писать тему сообщения при отправке e-mail.
Мало того, что написание темы в бизнес переписке является обязательным требованием, но и многие системы по защите от спама блокируют сообщения с пустой темой. Поэтому необходимо всегда писать тему, отражающую текст письма. К тому же это является и признаком уважения к собеседнику, позволяя классифицировать сообщения по теме и упрощая дальнейший поиск его при необходимости.
Так как же бороться с такими "криворукими" пользователями?

Можно, конечно, создать на почтовом сервере транспортное правило, которое будет возвращать отправителю его неполноценное сообщение, но логичнее решать данную проблему локально у пользователя.
В Otlook 2010  при отправке сообщения без темы, пользователю выводиться уведомление об этом, с просьбой подтвердить отправку. Более того, данное уведомление просто так не отключается.











А вот в Outlook 2007 все гораздо печальнее. Там подобной защиты "от дурака" нет.
Поэтому воспользуемся средствами VBA для борьбы с нерадивыми пользователями.
Нам понадобиться добавить испольнение соответвующего макроса:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    If Item.Subject = "" Then
        'Edit the message and the popup caption on the next line as desired.'
        MsgBox "Отправка сообщений без темы запрещена! Пожалуйста, введите тему сообщения и повторите отправку.", vbCritical + vbOKOnly, "Запрет отправки сообщений без темы"
        Cancel = True
    End If
End Sub
Для открытия редактора макросов, необходимо открыть Outlook и нажать сочетание клавиш Alt+F11 (или меню "Сервис-Макрос-Редактор Visual Basic").
В открывшемся окне в левой колонке перейти в раздел "Microsoft Office Outlook Objects - ThisOutlookSession"
и в правое окно вставить наш макрос:



Сохраняем результат и закрываем редактов VB.
Теперь необходимо отключить блокировку макросов в Outlook. Для этого перейти в меню "Сервис - Макрос - Безопасность" и выбрать пункт "Не выполнять проверку безопасности для макросов (не рекомендуется)". Если этого не сделать, то при каждом запуске Outlook будет выводиться запрос системы безопасности MS Office.
После этого перезапускаем Outlook и пробуем отправить сообщение с пустым полем "Тема" и получаем ошибку:


3 комментария:

  1. Возможно ли создать транспортное правило для этих целей на Exchange 2007? Что должно быть в поле темы, если оно пустое?

    ОтветитьУдалить
    Ответы
    1. Разобрался... Пустое поле содержит регулярное выражение ^$
      Остановился на этом варианте, т.к. существуют пользователи OWA без доступа к MS Outlook.

      Удалить