2014-12-09 3 views
0

Я запускаю программу на 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 отправлять сообщения.

Спасибо за ваше время.

+1

Я бы перекодировал это, чтобы использовать управляемый EWS API и избавиться от Outlook. – mjolinor

+0

Чтобы полностью устранить это сообщение, вам необходимо запустить Outlook как администратор на зараженной машине и зайти в центр доверия> программные настройки и установить «никогда не предупреждать». Очевидно, есть оговорки с таким подходом, но вариант есть. С кодом, который у вас есть, это будет единственный способ. Я не уверен, как это сделать, но у хороших молотков было хорошее предложение. – Matt

+0

Check Glen Scales blog. Здесь много хороших примеров. – mjolinor

ответ

0

См. http://www.outlookcode.com/article.aspx?id=52. По сути, ваш выбор

  1. Убедитесь, что ваши используют последнюю версию Outlook, наряду с уточненным антивирусным приложением - прогноз не будет отображаться безопасности подсказок тогда.

  2. Переключиться на расширенный MAPI (только C++ или Delphi).

  3. Используйте оболочку MAPI (Redemption), которая использует расширенный MAPI internall и не затронута подсказками безопасности.