Уведомления о новых письмах в VipNet Деловая почта

Описание проблемы

Работая в одной государственной организации столкнулся с продуктом компании ИнфоТеКС под названием VipNet Client. Предназначен он для создания защищенной сети, а в комплекте с ним шла дополнительная программа под названием «VipNet Деловая почта«. По факту, это отдельный почтовый клиент, для пересылки корреспонденции в защищенной сети.

Все было бы хорошо, только вот установлена «Деловая почта» отдельно быть не может, и держать её нужно на том же компьютере, который подключен к защищенной сети через VipNet Client — соответственно «узнавать» о получении почты можно только по уведомлению на этом самом компьютере. Хорошо, когда за этим компьютером постоянно кто-то работает, а что если этот компьютер стоит отдельно сам по себе, или вообще все это добро установлено на виртуальной машине?

Решение проблемы

Тем не менее, используя имеющиеся настройки программы «Деловая почта» + любой скриптовый язык, можно сгородить огород из костылей, в виде следующей схемы:

  • Клиент «Деловая почта» получает новое письмо, и сохраняет его в указанную папку (самое продвинутое, что может данная программа).
  • На компьютере, с которого нужно наблюдать за корреспонденцией, каждые 5 минут срабатывает vbs скрипт, который:
    • Смотрит дату-время последнего созданного файла, и записывает его,
    • При следующем запуске смотрит опять дату-время последнего созданного файла, сверяет её с ранее записанной, и если она отличается — выводит уведомление о новом сообщении. После этого он опять записывает дату-время последнего созданного файла.

Приступим к настройке Деловой почты. Ниже инструкция, которая подойдет для версий 3 и 4.

В ViPNet Деловая почта открываем пункт «Инструменты» — «Настройка…«.

Открываем самый последний пункт бокового меню — «Автопроцессинг«.

И там нажимаем кнопку «Добавить«.

В появившемся окне выбираем пункт «Правило для обработки входящих писем«, и нажимаем кнопку «ОК«.

Задаем фильтру произвольное название (например, «Для уведомлений о получении входящей почты»). Ставим галочку на каком-либо пункте фильтра (я выбрал пункт «Тема содержит»), и ничего туда не пишем. Таким образом, под этот фильтр теперь попадают все входящие письма.

Открываем вкладку «Действие«. Ставим «Тип действия» — «Сохранение в каталог с заменой более старых файлов«. Каталог устанавливаем любой, который вам нужен.

Нажимаем кнопки «ОК» для закрытия всех окон с настройками.

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

Теперь создаем vbs скрипт следующего содержания:

Set objFSO = CreateObject("Scripting.FileSystemObject")  Set objShell = CreateObject("WScript.Shell")    LocalFile = "ViPNetMail665.txt"  LocalPath = objShell.ExpandEnvironmentStrings("%appdata%") & "VIPNET"  RemotePath = "\VIPNETc$ViPNet Mail"    ' Проверяем наличие папки под файл скрипта  If NOT (objFSO.FolderExists(LocalPath)) Then  	objFSO.CreateFolder LocalPath  End If    ' Проверяем наличие файла  If NOT (objFSO.FileExists(LocalPath & LocalFile)) Then  	Set objFile = objFSO.CreateTextFile(LocalPath & LocalFile, True)  	objFile.Write "01.01.1970 00:00:00" & vbCrLf  	objFile.Close  End If    ' Получаем дату последнего изменения из локального файла  Set objFile = objFSO.OpenTextFile(LocalPath & LocalFile, 1)  LocalModifiedDate = objFile.ReadAll    ' Получаем дату последнего изменения из удаленной директории  Set objFolder = objFSO.GetFolder(RemotePath)  RemoteModifiedDate = objFolder.DateLastModified    ' Сравниваем даты, в случае несовпадения показываем уведомление  If StrComp(RemoteModifiedDate, LocalModifiedDate, 1) <> 0 then  	notification = msgbox("Получены новые письма в программе ViPNet Деловая почта!", 64, "Почта ViPNet ТФОМС ЛО " & now())  End If    ' Пишем дату последнего изменения из удаленной директории  Set objFile = objFSO.CreateTextFile(LocalPath & LocalFile, True)  objFile.Write RemoteModifiedDate  objFile.Close  

Обращаем внимание на переменную (выделена жирным в коде скрипта): RemotePath — это сетевой путь к папке, куда «Деловая почта» будет сохранять почту.

Добавляем выполнение этого vbs скрипта в планировщик задач каждые n-минут (лично по мне оптимальным значением является 5 минут), и по получению почты ждем уведомления.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *