Outlook安全,互操作NET参考?

时间:2012-08-09 22:26:21

标签: interop outlook

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

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

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

这是一个非常基本的代码片段,它会导致diaglog:

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();
        }
    }
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

你没有做错任何事,这是Outlook安全警报,这对用户/公司有利。我去年有类似的问题。到目前为止我记得的选项: 您可以像Remou提到的那样创建trusted microsoft addin,也可以将自己添加为trusted publisher,或者可以在Outlook中添加可视基本脚本call from your application