Differenciate or distinguish between outlook attachment and embedded image/signature using property accessor in C#.NET
These days, outlook emails are composed in three formats; plain text, html and rtf (rich text format). If an email is in rtf and it has attachments, as well as, embedded image or signature, it poses a problem in outlook automation. When you are reading attachments in an outlook automation program, your program will recognize the embedded image/signature as an attachment. Although, it is not an attachment from the sender. So, you need to apply some sort of filtering in your loop. Here it is…… using System; using System.Collections.Generic; using Outlook = Microsoft.Office.Interop.Outlook; using System.IO; Outlook.MailItem item = null; Outlook.PropertyAccessor prop; // intialize item to a mail item foreach (Outlook.Attachment atmt in item.Attachments) { prop = atmt.PropertyAccessor; string contentID = (string)prop.GetProperty(“http://schemas.microsoft.com/mapi/proptag/0x3712001E“); if (contentID != “”) continue; else //do something ; } If the ContentID is not found, it is not an actual attachment, rather an embedded image/signature.