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

  • 05.03.2019
  • 2 115
  • 0
  • 04.12.2019
  • 1
  • 1
  • 0
Уведомления о новых письмах в VipNet Деловая почта

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

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

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

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

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

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

Для осуществления всего этого, в VipNet Деловая почта открываем пункт "Инструменты" - "Настройка...".

Открываем самый последний пункт бокового меню - "Автопроцессинг", нажимаем кнопку "Добавить".

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

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

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

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

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")

LocalFile = "ViPNetMail665.txt"
LocalPath = objShell.ExpandEnvironmentStrings("%appdata%") & "\VIPNET\"
RemotePath = "\\VIPNET\c$\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 не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.