如何使用 c# 编辑内联图像的 mapi 属性内容配置?

问题描述

我正在尝试向 HTML 正文添加内嵌图像。如何编辑内容处置 ID。目前把它当作普通附件而不是嵌入附件?

        string file = GetimageBytes();
        Redemption.Attachment att = mail.Attachments.Add(file,1,null,"logo");
        att.Fields[0x3712001E] = "image.logo";
        mail.Commit();
        RDOMail msg = Globals.ThisAddIn.session.GetMessageFromID(mailItem.Item.EntryId);

        mail.Item.HTMLBody = CreateHTMLBody(msg,sender,nvd_sii,recipient);

我想将上述附件添加为内嵌附件。有什么办法可以使用兑换来实现吗?

解决方法

我没有设置内容处置属性,而是将 PR_ATTACH_FLAGS "http://schemas.microsoft.com/mapi/proptag/0x37140003" 设置为 4(对于嵌入图像)。这解决了这个问题。下面的代码有效

        string file = GetImageFile();
        Redemption.Attachment att = mail.Attachments.Add(file);
        att.Fields[0x3712001E] = "image.logo";
        att.Fields[0x37140003] = 4;
        mail.Commit();
        System.IO.File.Delete(file);
        RDOMail msg = Globals.ThisAddIn.session.GetMessageFromID(mailItem.Item.EntryId);


        mail.Item.HTMLBody = CreateHTMLBody(msg,sender,nvd_sii,recipient);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...