Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
495 views
in Technique[技术] by (71.8m points)

vsto - How do i edit the mapi property content disposition for inline image using c#?

I'm trying to add an inline image to the HTML body. How do I edit the content disposition ID. Currently it takes it as normal attachment instead of emebdded attachment?

        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);

I want add the above attachment as inline attachment. Is there any way I could do it using redemptions?

question from:https://stackoverflow.com/questions/66050342/how-do-i-edit-the-mapi-property-content-disposition-for-inline-image-using-c

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Instead of setting the content disposition property, I set PR_ATTACH_FLAGS "http://schemas.microsoft.com/mapi/proptag/0x37140003" to 4(for embedded image). This solved the issue. The code below worked

        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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...