繁体   English   中英

使用Interop.outlook和ews

[英]using Interop.outlook and ews

我正在使用EWS搜索和显示电子邮件。 但是,该项目的最后一步是将特定消息另存为.msg文件在文件系统上。 我了解EWS无法做到这一点,因此我将需要使用Interop.Outlook来完成此任务。 我的问题是:鉴于EWS提供的信息,找到Outlook消息的最佳方法是什么。 我试图将通过EWS通过交换获得的Message.Id和ConversationId与Outlook的messageId相关联,但到目前为止仍未成功。

这是我当前用于查找ConversationID的代码(失败):

 OUTLOOK.Application olApp = new OUTLOOK.Application();
        OUTLOOK.NameSpace olNS = olApp.GetNamespace("MAPI");
        OUTLOOK.MAPIFolder oFolder = olNS.GetDefaultFolder(OUTLOOK.OlDefaultFolders.olFolderInbox);
        OUTLOOK.Items oItems = oFolder.Items;
        String sFilter = string.Format("@SQL=\"http://schemas.microsoft.com/mapi/proptag/0x1035001F\" = '{0}'", missive.ConversationID.UniqueId);
        object obj = oItems.Find(sFilter);
        OUTLOOK.MailItem oEmail = (OUTLOOK.MailItem)obj;
        if (oEmail != null)
        {
            return oEmail;
        }
        else
        {
            throw new Exception("MAIL ITEM NOT IN OUTLOOK");
        } 

顺便说一句:我一直在寻找Outlookd过滤器的参考。这是[property] = value版本的属性名称。 以及与@SQL版本一起使用的十六进制值。 有人为此提供了很好的参考链接吗?

您可以使用一个ConvertIdType请求; 请参阅: https : //msdn.microsoft.com/zh-cn/library/office/bb856559(v=exchg.140).aspx

有关MAPI属性及其DASL名称和属性标记值的列表,请参见: https ://msdn.microsoft.com/zh-cn/library/office/cc815517.aspx。 尽管Outlook Spy也是一个很好的工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM