Как избежать предупреждения о безопасности Outlook при чтении сообщения Outlook из программы С#

У меня есть требование прочитать тему, адрес отправителя и тело сообщения нового сообщения в моем почтовом ящике Outlook из программы С#. Но я получаю предупреждение о безопасности. "Программа пытается получить доступ к адресам электронной почты, которые вы сохранили в Outlook. Вы хотите разрешить это?

В некоторых поисковых системах я нашел несколько сторонних библиотек COM, чтобы избежать этого. Но я ищу решение, которое не требует какой-либо сторонней библиотеки COM.

Ответ 1

Извините, у меня была эта неприятная проблема в надстройках Outlook 2003 и Outlook 2007, и единственным решением, которое работало, было приобретение Redemption. Насколько я помню, в Outlook 2007 это надоедливое всплывающее окно должно появляться только в том случае, если ваш брандмауэр выключен или ваше антивирусное программное обеспечение устарело.

Ответ 2

Я столкнулся с той же проблемой при доступе к почтовому адресу отправителя для элемента почты Outlook. Чтобы избежать "предупреждения безопасности", не создавайте новый объект приложения, вместо этого используйте Globals.ThisAddIn.Application, чтобы создать новый файл почты.

string GetSenderEmail(Outlook.MailItem item)
    {
        string emailAddress = "";
        if (item.SenderEmailType == "EX")
        {
            Outlook.MailItem tempItem = (Outlook.MailItem)Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem);
            tempItem.To = item.SenderEmailAddress;
            emailAddress = tempItem.Recipients[1].AddressEntry.GetExchangeUser().PrimarySmtpAddress.Trim();

        }
        else
        {
            emailAddress = item.SenderEmailAddress.Trim();

        }

        return emailAddress;
    }

Ответ 3

Попробуйте это

Инструменты → Макро → Безопасность → Программный доступ

Затем выберите Никогда не предупреждать меня о подозрительной деятельности.

Ответ 4

"Но я ищу решение, которое не требует какой-либо сторонней библиотеки COM."

Вы не найдете его. Каспер уже указал на единственное решение, о котором я знаю. Redemption - единственное, что поддерживало плагины Outlook и код для работы. Я сделал коммерческие надстройки Outlook для Franklin Covey. Мы много разбирались, но Искупление было единственной вещью, которая заставила нас преодолеть это препятствие.

Ответ 5

Если ваше приложение не подключено к Outlook, вы можете посмотреть MAPI для чтения данных из папки входящих сообщений

Ответ 6

Мы используем Advanced Security for Outlook из Mapilab для этого. Он бесплатный, также для коммерческого использования и по-прежнему сохраняет безопасность Outlook (только разрешая доступ к утвержденным приложениям). Только что касается ранее упомянутых решений, которые стоят либо денег, либо могут поставить под угрозу безопасность.

Ответ 7

Вы можете отключить всплывающее окно безопасности с помощью Outlook Trust Center. Проверьте здесь.