Извините, если это повторение других, но ни один из тех, что я прочитал, не отвечает моим конкретным потребностям.
Я пытаюсь создать оповещение на рабочем столе, чтобы сообщить мне, что в папке «Исходящие» еще есть почта. Для этого потребуется какой-то настраиваемый таймер, чтобы я мог выставлять его так, чтобы он появлялся каждую минуту или около того, пока почта находилась в моем почтовом ящике. У меня было много проблем в последнее время, когда отправленная мною почта не отправлялась по какой-либо причине. Когда я закрываю Otlook, даже если я настроил окончательную отправку при выходе, иногда почта остается.
Я действительно хотел бы иметь возможность запретить закрытие Outlook, если какая-либо почта все еще находилась в папке «Исходящие». И в любом случае, когда я снова открываю его, если одно и то же электронное письмо все еще не отправляется, мне нужно получать оповещение каждые несколько минут.
Это может в конечном итоге стать раздражающим, но сейчас необходимость больше, чем беспокойство по поводу раздражения, так как несколько важных электронных писем не уложились в свои сроки, потому что я не знал, что они все еще застряли там. Пока я не смогу найти и устранить проблему, я бы хотел получать уведомления так часто, как это требуется.
1 ответ
Я написал сценарий, который может вас заинтересовать. Вы можете прочитать об этом здесь. Более новая версия кода находится на GitHub.
В коде, который вы получите по первой ссылке, есть функция с именем balloon (код ниже). Вы можете использовать эту функцию для создания всплывающего сообщения, которое будет отображаться рядом с иконками в трее. Это будет выглядеть так:
Если вы изменяете сценарий для запуска каждые несколько минут и создаете правило для каждого электронного письма, которое находится в папке «Исходящие», вы получите всплывающее сообщение для каждого из писем, которые еще не были отправлены.
Функция воздушного шара:
function balloon([string]$text, [string]$title)
{
if ($objBalloon)
{
# DELETE EXISTING BALLOON
$objBalloon.Dispose()
}
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$objBalloon = New-Object System.Windows.Forms.NotifyIcon
$objBalloon.Icon = "C:\Windows\ServicePackFiles\i386\msnms.ico"
# INFO, WARNING AND ERROR VALUES ARE ALLOWED
$objBalloon.BalloonTipIcon = "Error"
$objBalloon.BalloonTipTitle = "$title"
$objBalloon.BalloonTipText = "$text"
$objBalloon.Visible = $True
# HOW LONG TO SHOW THE BALLOON
$objBalloon.ShowBalloonTip(5000)
}