0

我正在尝试创建一个访问 Outlook 电子邮件详细信息的独立应用程序。特别是 MailItem 的主题、发件人和正文。

我一生都无法弄清楚为什么有时 Outlook 会提示用户允许访问(例如,获取“程序正在尝试访问电子邮件地址信息....允许访问 x 分钟消息框),有时不会. 这种不规则性是在几周内提出申请的不同尝试中造成的,所以我在想我添加的引用或对象使用可能有什么不同?

我已经安装了 Microsoft Office 2010 互操作程序集并添加了 Microsoft.Office.Interop.Outlook 版本 14.0.0.0 的 .NET 引用

这是一个非常基本的代码片段,它确实会导致诊断日志:

using System; <br/>
using System.Collections.Generic; <br/>
using System.Linq; <br/>
using System.Text; <br/>
using Microsoft.Office.Interop.Outlook; <br/>

namespace OutlookTest
{
    class Program
   {
        static void Main(string[] args)
        {
            Microsoft.Office.Interop.Outlook.Application olApp = new Microsoft.Office.Interop.Outlook.Application();
            Microsoft.Office.Interop.Outlook.NameSpace olNS = olApp.GetNamespace("MAPI");
            MAPIFolder oFolder = olNS.GetDefaultFolder(OlDefaultFolders.olFolderInbox);

            foreach (object item in oFolder.Items)
            {
                if (item is MailItem)
                {
                    MailItem i = (MailItem)item;

                    Console.WriteLine("{0}", i.Body); 
                }
            }

            Console.ReadLine();
        }
    }
}

我在这里做错了什么?

4

1 回答 1

0

您没有做错任何事,这是对用户/公司有益的 Outlook 安全警报。去年我也有类似的问题。到目前为止我记得的选项:您可以像 Remou 提到的那样创建一个受信任的 microsoft 插件,或者您可以将自己添加为受信任的发布者,或者您可以将一个 Visual Basic 脚本添加到您可以从您的应用程序调用的Outlook 中。

于 2012-08-09T22:38:51.960 回答