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

  • 243
  • 0
  • 100,00%
  • 2

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

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

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

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

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

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

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

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

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

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

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

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

' Объявляем начальные переменные
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")

' Путь к директории, за которой предстоит наблюдение
VipNetMailPath = "\\vipnet\D$\mail"

' Проверяем, существует ли папка для файла скрипта, если нет, то создаем её
If NOT (objFSO.FolderExists(objShell.ExpandEnvironmentStrings("%appdata%") & "\VipNetMail")) Then
	objFSO.CreateFolder objShell.ExpandEnvironmentStrings("%appdata%") & "\VipNetMail"
End If
WatcherFile = objShell.ExpandEnvironmentStrings("%appdata%") & "\VipNetMail\VipNetMail.txt"

Set recentFile = Nothing
For Each file in objFSO.GetFolder(VipNetMailPath).Files
	If (recentFile is Nothing) Then
		Set recentFile = file
	ElseIf (file.DateLastModified > recentFile.DateLastModified) Then
		Set recentFile = file
	End If
Next

' Проверяем, существует ли файл скрипта
If (objFSO.FileExists(WatcherFile)) Then
	' Если существует, считываем его содержимое и сверяем с актуальной датой последних изменений в директории
	Set objFile = objFSO.OpenTextFile(WatcherFile)
	While Not objFile.AtEndOfStream
		strDateLastModified = strDateLastModified & objFile.Read(1)
	Wend
If StrComp(recentFile.DateLastModified, strDateLastModified, 1) <> 0 then
		Set objFile = objFSO.CreateTextFile(WatcherFile, True)
		objFile.Write recentFile.DateLastModified
		objFile.Close
		CurrentTime = now()
		notification = msgbox("Получены новые письма на VipNet!", 64, "У вас новые письма " & CurrentTime)
	Else
		objFile.Close
	End If
Else
	' Если нет, то создаем его
	objFile.Write recentFile.DateLastModified
	objFile.Close
End If

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

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



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

Ваш e-mail не будет опубликован.

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