Я запускаю программу на C, которая сканирует файл журнала в непрерывном цикле. После выполнения определенных условий программа создает сценарий Powershell для выполнения. Этот скрипт является базовым сценарием для отправки электронной почты нескольким получателям. Вот сценарий:Скрипт электронной почты Powershell заблокирован Outlook
$o = New-Object -com Outlook.Application
$mail = $o.CreateItem(0)
Sleep 1
$mail.subject = "Auto Report"
$mail.HTMLBody = "This is an automated message."
$mail.To = "[email protected]; "
Sleep 1
$mail.Send()
Сценарий был протестирован и доказал свою эффективность в течение нескольких месяцев. Однако иногда Outlook заставит пользователя нажать «разрешить» для отправки электронной почты.
Я не могу отправить изображение только еще, но вот ссылка на симптом я описываю: link
Потому что это, как предполагается, автоматическую программу, это проблема. Программа должна быть в состоянии работать в фоновом режиме, с или без присутствия пользователя.
Эта программа работает на рабочей станции, и у меня нет прав администратора для изменения настроек в Outlook или для обновления любых антивирусных файлов. До сих пор ИТ не помогал моей проблеме.
Я надеялся, что кто-то может дать представление о том, почему это происходит, и что позволит Outlook отправлять сообщения.
Спасибо за ваше время.
Я бы перекодировал это, чтобы использовать управляемый EWS API и избавиться от Outlook. – mjolinor
Чтобы полностью устранить это сообщение, вам необходимо запустить Outlook как администратор на зараженной машине и зайти в центр доверия> программные настройки и установить «никогда не предупреждать». Очевидно, есть оговорки с таким подходом, но вариант есть. С кодом, который у вас есть, это будет единственный способ. Я не уверен, как это сделать, но у хороших молотков было хорошее предложение. – Matt
Check Glen Scales blog. Здесь много хороших примеров. – mjolinor