You really should not be using CDO 1.21 from C# or any other .NET language. Neither CDO nor Extended MAPI is supported in .NET code at all and while it may work most of the time things will fail, usually at a client site and no one will be able to support you at all.
// toAdd = x-header to add to mail item. // ID = MailItem.EntryID, item must be saved to have an ID. // StoreID is the EntryID of the Store where the item is located. Use item.Parent.StoreID to get it. private void AddHeader(string toAdd, string ID, string StoreID) { // see http://support.microsoft.com/kb/195656 for how to convert // a MAPI tag to a CDO tag const string propSet = "8603020000000000C000000000000046";
MAPI.Session cdo = new MAPI.Session; cdo.Logon "", "", false, false, missing, missing, missing; MAPI.Message item = (MAPI.Message)cdo.GetMessage(ID, StoreID); MAPI.Fields fields = (MAPI.Fields)item.Fields; MAPI.Field header = fields.Add("MyHeader", 8, toAdd, propSet); item.Update(true, true); }
After that, since Outlook doesn't really know about changes made to an item outside of its scope you should do something like this to make it aware of the change:
Outlook.MailItem mail.Subject = mail.Subject; mail.Save;
-- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm
"Bharathi Harshavardhan" <bharathi8179[ at ]gmail.com> wrote in message news:1183028744.070528.17370[ at ]m37g2000prh.googlegroups.com...
[Quoted Text] > Hi, > > I have a requirement where i need to store some information into the x- > header of an outlook email. > > I am using Outlook 2003 and Visual Studio 2005(C#). I have created a > shared Addin project. > > I got to know that x-headers cannot be created using Outlook Object > Model. I want to use CDO 1.21 for this purpose. > > Could anyone please assist me how to add x-header to an outlook email > using CDO1.21. > > Thanks in Advance > Bharathi >
|