Your code does not set the MAPI property type:
PT_STRING8 = 0x001E .... int i = sitem.GetIDsFromNames("{00020386-0000-0000-C000-000000000046}", "x-test-header"); i = i | PT_STRING8;
Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool
"racni" <racniro[ at ]gmail.com> wrote in message news:1144070100.701392.12360[ at ]i40g2000cwc.googlegroups.com...
[Quoted Text] > I can not add the custom headers. It runs without giving any errors. > But it did not change the header. If is some thing wrong with my C# > code > > > > Please have a look at following code > > > > "x-test-header" header is not added to the email > > > > > > 1 Type t = Type.GetTypeFromProgID("Redemption.SafeMailItem"); > > > 2 Redemption.SafeMailItem sitem = (Redemption.SafeMailItem) > Activator.CreateInstance(t); > > 3 sitem.Item = this.myMailItem; > > 4 int i = > sitem.GetIDsFromNames("{00020386-0000-0000-C000-000000000046}", > "x-test-header"); > > 5 sitem.set_Fields(i,"hello"); > > 6 SetPropValue(sitem, "Subject", "Testing Redemption"); > > 7 sitem.Send(); > > > > > > Please see the line number 4 . I m not sure abut it , because in the > vb6 code it is the 8 bit string as to my knowledge . But I do not know > the logic behind it . so how we are going to deal with this in c#. > > > > Can you help me regarding this > > > > This is the method I used for the change the subject field > > > > private static void SetPropValue(object item, string > propertyName, > > object propertyValue) > > { > > try > > { > > object[] args = new Object[1]; > > args[0] = propertyValue; > > Type type = item.GetType(); > > type.InvokeMember( > > propertyName, > > BindingFlags.Public | > BindingFlags.SetField | > > BindingFlags.SetProperty, > > null, > > item, > > args); > > } > > catch (SystemException ex) > > { > > Console.WriteLine( > > string.Format( > > "SetPropValue for {0} Exception: > {1} ", > > propertyName, ex.Message)); > > } > > return; > > } >
|