【问题标题】:Get the target MAPI Folder and EntryID of a MailItem after applying Outlook rules应用 Outlook 规则后获取 MailItem 的目标 MAPI 文件夹和 EntryID
【发布时间】:2011-07-01 06:57:47
【问题描述】:

我正在为 Outlook 2007 创建一个加载项,它处理 NewMailEx 事件并在所有 Outlook 规则之后提供 MAPI 文件夹的 StoreID 和该文件夹中传入电子邮件的 EntryID应用于它。加载项稍后将使用System.NameSpace classGetItemFromId() 方法跟踪电子邮件。我尝试使用 mailitem 的唯一 PR_SEARCH_KEY 进行搜索,但不必要地扫描所有文件夹和子文件夹会花费太多时间。我需要一种方法来记住一封电子邮件,而不是再次搜索它。

【问题讨论】:

  • 我正在尝试做类似的事情;我需要找到 Outlook 联系人的包含文件夹

标签: c# outlook-2007


【解决方案1】:

在处理 NewMailEx 时,您会得到包含逗号分隔字符串的 EntryIDCollection。这些看起来像 GUIDS。您需要将该字符串保存在某处(或只是您希望保存的 ID),然后您可以使用

Outlook.MailItem mi = thisAddIn.Application.Session.GetItemFromID(id, Type.Missing) as Outlook.MailItem

其中 ID 是您想要的项目的单个 ID。您必须为集合中的每个项目调用一次。应用规则后它在哪里结束并不重要。 ID 将始终相同。

@rotard 要获取联系人文件夹,只需使用

public string GetFolderFullName(Outlook.ContactItem ci) 
{
     Outlook.MAPIFolder mf = ci.Parent;
     string path = mf.FolderPath;
     return path;
 } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多