Безопасность Outlook

Есть ли другой способ избавиться от этого сообщения безопасности Outlook? «Программа пытается автоматически отправить электронную почту от вашего имени… и т. д.», и она дает мне возможность выбрать «Да», «Нет» и «Справка».

В настоящее время я разрабатываю приложение для автоматизации Outlook, используя Ms Access. Каждый раз, когда я запускаю команду «Отправить», появляется всплывающее сообщение, я пытался использовать SendKeys «% s», но это не работает в Access 2007.

Есть ли альтернативное решение для этого? Спасибо!!


person Arnold    schedule 30.09.2009    source источник


Ответы (4)


Вы можете рассмотреть возможность использования Outlook.

Из аннотации:

Outlook Redemption обходит ограничения, наложенные патчем безопасности Outlook и пакетом обновлений 2 для MS Office 98/2000 и Office 2002/2003/2007 (включая исправление безопасности), а также предоставляет ряд объектов и функций для работы со свойствами и функции, недоступные через объектную модель Outlook.

person Fionnuala    schedule 30.09.2009

Microsoft не хочет, чтобы сценарии могли отправлять электронную почту без согласия пользователя. Согласно KB 263084, вы можете выполнить одно из следующих действий (чтобы избежать интерфейса с поддержкой сценариев или настроить система, чтобы подавить сообщение):

  • изменить некоторые настройки сервера Exchange
  • использовать CDO
  • Использовать расширенный MAPI
  • использовать надстройку COM

Я не думаю, что какие-либо программные решения особенно просты, и применение изменений к Exchange может не подойти для вас (особенно если ваше приложение должно работать с клиентами Outlook, которые не находятся в среде Exchange, конечно) .

person Michael Burr    schedule 30.09.2009
comment
Изменение настроек Exchange, конечно, не вариант в автономном сценарии доступа (т. е. не работающем в качестве клиента Exchange). - person David-W-Fenton; 02.10.2009
comment
CDO не помещает копию сообщения в папку отправленных сообщений Outlook. И расширенный MAPI довольно сложен из-за того, как Microsoft исправляет MAPI DLL - есть некоторые установки Outlook, где его никогда нельзя использовать (обычно там, где установлены другие почтовые программы, которые устанавливают свою собственную версию MAPI DLL). Я использую Outlook Redemption и думаю, что это нормально. - person David-W-Fenton; 02.10.2009
comment
Я согласен, что эти варианты не велики и, конечно, не просты. Я не знаком с Outlook Redemption, но бегло просмотрел веб-сайт — он выглядит как потенциально очень хороший вариант (похоже, он избегает сообщения о безопасности, по сути, являясь оболочкой для расширенного MAPI). - person Michael Burr; 02.10.2009

Этого можно избежать, ретранслируя сообщение непосредственно на SMTP-сервер, а не используя Outlook для ретрансляции сообщения. Предупреждение системы безопасности предназначено для того, чтобы такие люди, как вы, не могли отправлять сообщения с моей учетной записи без моего ведома. Хотя у вас благие намерения, то, что вы пишете, по сути похоже на вирус (представьте, если бы вы могли сделать это без запроса безопасности — спам-рай!)

person Fenton    schedule 30.09.2009
comment
Но если вы перейдете напрямую к SMTP, ваша папка отправленных сообщений Outlook не будет содержать копию сообщения. - person David-W-Fenton; 02.10.2009
comment
Именно так — мы не хотим, чтобы приложения или скрипты мешали нашим материалам. Представьте себе возможности, которые существовали бы, если бы они разрешили этот тип сценария. - person Fenton; 02.10.2009

Если вы не хотите использовать Redemption (другие уже посоветовали, поэтому я думаю, что вы этого не сделаете), у вас есть другой вариант, который, я уверен, будет намного более болезненным для реализации. В основном вам нужно будет создать надстройку вместо внешней программы. Надстройка может делать с Outlook все, что вы хотите, не получая эти сообщения. Вероятно, вы можете заставить надстройку работать как простой сервер — делать то, что вы хотите, получая команды из внешнего мира (на случай, если вы не можете делать то, что вам нужно, из Outlook). Возможно, вы можете поднять службу WCF (IPC или Inter Process Communication, которая работает как общая память между двумя процессами). Обратите внимание, однако, что вам, вероятно, будет лучше, если вы будете использовать только Redemption или только надстройку. Соединение Outlook с внешним процессом является проблемой, и она усугубляется тем фактом, что классы Outlook не сериализуемы. Таким образом, в основном вам нужно будет добавить объекты передачи данных для каждого класса, к которому вам нужно получить доступ через ваше приложение.

Возможно, если вы решите эту проблему, реализовать ее будет немного проще, но это все еще проблема.

person Pavel Donchev    schedule 16.10.2012