首页 > 解决方案 > Outlook.MailItem.EntryID 和 Mapi32.dll MessageID 之间的区别

问题描述

我需要从 Outlook VBO 做一些功能。假设我正在从 outlook.mailitem 下载附件。因此,我确实通过在 OutLook.MailItem.EntryID 前面添加了这些文件来保存这些文件,其中 EntryID 对于每封电子邮件都是唯一的。

现在,我有另一个使用 Mapi32.dll 并且需要访问文件的功能或应用程序。所以我使用 MessageID 属性来获取文件,但问题是当我从 Mapi32.dll 检索 MessageID 属性时,它返回类似于 AAAAAKHslFt5unxKlnJ80RmsEX8HAEYxSGm4YvNPlCN7Kj9X/A8AAAAAAQwAAEYxSGm4YvNPlCN7Kj9X/A8AAOy+SWQAAA

但 Outlook 中的 EntryID 是 1DCBEE7832C89149AFAEBC41B53EAB85

我认为 EntryID 和 MessageID 是相同的,但是是从 MapiEx 加密的吗?我怎样才能解密它以获得原始的 EntryID ?或者 Outlook.MailItem 对象和 Mapi32.dll MailMessage 对象之间是否有任何其他公共属性可以用来在两个工具之间共享信息?

标签: outlookvbomapi

解决方案


前者看起来像一个 base64 编码的条目 ID。后者看起来很奇怪 - 条目 ID 通常以 4 个二进制 0 开头(十六进制表示法中的八个“0”)。


推荐阅读