【问题标题】:Outlook MailItem opened from standalone file, or not?Outlook MailItem 从独立文件打开,或者不是?
【发布时间】:2011-04-10 11:39:45
【问题描述】:

我正在使用 C# 开发 Outlook 插件,但在区分从文件夹(收件箱、已发送等)打开的邮件和从独立 .msg 文件打开的邮件时遇到问题。

我已尝试检查 Parent 属性,但它显示了两种类型的收件箱。

有什么想法吗?

/山姆

【问题讨论】:

    标签: outlook directory mailitem


    【解决方案1】:

    查看属性,在我看来,如果 MailItem 从文件系统打开,则 .EntryID 属性为空,如果从文件夹中打开文件,则它有一个值。这基于help entry 是有意义的;一个警告是,如果消息是新消息(即尚未保存在文件夹中,但文件系统中也不存在),您还希望此属性为空白。

    来自有关空白值的帮助:

    因此,EntryID 属性不是 为 Outlook 项目设置,直到它 保存或发送

    您会想要对其进行试验,并确保在您实施之前它的行为确实正确 :)

    如果做不到这一切,下一步可能会很复杂;一种方法是检查 Outlook 打开的句柄。通过Process Explorer 检查它们(在非特权上下文中)表明每条消息都有一个句柄;句柄的名称与消息主题匹配,路径是文件的路径。枚举这些的一种解决方案是this answer

    HTH, 杰夫

    【讨论】:

    • 谢谢! EntryID 与 Sent 相结合是我所追求的。虽然有点担心不同的邮件商店的行为方式,但我想这会显示出来。
    猜你喜欢
    • 2012-12-05
    • 2018-10-26
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多