1

我正在开发一个项目,该项目在 Outlook 2010 中为特殊消息显示自定义图标和信息区域。为了实现这一点,我更改了消息的 MessageClass。这很好用,只要消息没有数字签名。
这是更改 MessageClass 的代码:

        public static void SetMessageClass(ref Outlook.MailItem mi) {
        try {
            if (mi.MessageClass.ToLower() == "ipm.note" || mi.MessageClass.ToLower() == "ipm.note.smime" || mi.MessageClass.ToLower() == "ipm.note.myclass") {
                Logger.Log("Setze Message-Class auf " + MESSAGE_CLASS);
                mi.MessageClass = MESSAGE_CLASS;
                mi.Save();
            }
        } catch (System.Exception ex) {
            Logger.Log("Fehler beim setzen der Message-Class:\r\n" + ex.Message);
        }
    }

我需要更改 MessageClass,因为我想显示一个图标和一个信息区域。

如果邮件有数字签名,则会出现以下窗口: http ://social.msdn.microsoft.com/Forums/getfile/186575

我点击哪个按钮都没有关系,图标不会改变。

谁能帮我?

问候克纳德

PS:这是德语问题:http ://social.msdn.microsoft.com/Forums/de-DE/vstode/thread/e51b221e-89f6-419f-90e6-e17c74662a9f

4

1 回答 1

1

Outlook 竭尽全力将签名/加密的消息表示为常规 IPM。注意 MailItem 对象(它们不是)。

我知道的唯一解决方法是使用扩展 MAPI(C++ 或 Delphi)或Redemption(任何语言)绕过 OOM 层 - 在 Redemption 中使用 RDOSession.GetItemFromID。然后,您可以阅读 MessageClass/PR_MESSAGE_CLASS 属性并绕过签名/加密消息。

于 2014-04-08T16:43:43.997 回答