c# - VSTO Outlook Embed Image MailItem -
i need embed image part of email, after user signature, not @ end of email, becasue if i'm sending reply of large email, embedded image it's going @ bottom of emails chain
- how embed image part of email content (not link outside image)?
- how add image after user signature?
i'm work vsto, vs2008 fwk3.5 , outlook 2007
here code:
public partial class thisaddin { private void thisaddin_startup(object sender, system.eventargs e) { this.application.itemsend += new microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler(application_itemsend); } private void application_itemsend(object item, ref bool cancel) { if (item outlook.mailitem) { outlook.mailitem mailmessage = (outlook.mailitem)item; //do add image after signature } }
finally solved problem this:
private void sendformatted(outlook.mailitem mail) { if (!string.isnullorempty(mail.htmlbody) && mail.htmlbody.tolower().contains("</body>")) { //get image + link string imagepath = @"d:\\media\imagenes\100msdcf\dsc00632.jpg"; object linkaddress = "http://www.pentavida.cl"; //content-id const string schemapr_attach_content_id = @"http://schemas.microsoft.com/mapi/proptag/0x3712001e"; string contentid = guid.newguid().tostring(); //attach image mail.attachments.add(imagepath, outlook.olattachmenttype.olbyvalue, mail.body.length, type.missing); mail.attachments[mail.attachments.count].propertyaccessor.setproperties(schemapr_attach_content_id, contentid); //create , add banner string banner = string.format(@"<br/><a href=""{0}"" ><img src=""cid:{1}"" ></a></body>", linkaddress, contentid); mail.htmlbody = mail.htmlbody.replace("</body>", banner); mail.save(); } }
Comments
Post a Comment