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.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.