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

Windows, Windows 10, Windows 7, Windows 8, Windows Server, Windows Vista, Windows XP, Программное обеспечение

Работая в одной государственной организации столкнулся с продуктом компании ИнфоТеКС под названием 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 минут), и по получению почты ждем уведомления.



  • vbs
  • VipNet Client

© ИТ Основа