I have a couple of images stored in visual studio project Resources folder, and I have to load them and display on the outlook mail body. Here it is the code:
Bitmap b = new Bitmap(Properties.Resources.MyImage);
ImageConverter ic = new ImageConverter();
Byte[] ba = (Byte[])ic.ConvertTo(b, typeof(Byte[]));
MemoryStream logo = new MemoryStream(ba);
LinkedResource companyImage = new LinkedResource(logo);
companyImage.ContentId = "companyLogo";
mailitem.HTMLBody += "<img src=\"cid:companyLogo\">";
However, it cannot display on the mail body but a ‘empty box with red x’. Can you give me some ideas?
Create an attachment and set the
PR_ATTACH_CONTENT_IDproperty (DASL name"http://schemas.microsoft.com/mapi/proptag/0x3712001F") usingAttachment.PropertyAccessor.SetProperty.Your HTML body (
MailItem.HTMLBodyproperty) would then need to reference that image attachment through the cid:where
xyzis the value of thePR_ATTACH_CONTENT_IDproperty.Look at an existing message with OutlookSpy (I am its author) - click IMessage button.