View Single Post
  #1  
Old November 10th 09, 02:48 PM posted to microsoft.public.outlook.program_addins
Eiríkur Fannar Torfason
external usenet poster
 
Posts: 4
Default Properties added to MailItem in ItemSend event visible to recipien

Hello everybody,

I have a shared add-in written in C# that will store certain custom
properties on a MailItem in the ItemSend event. I use the Redemption library
to add the custom properties.

My problem is that if the e-mail recipient is another user on the same
exchange server then these custom properties are present on the MailItem in
the recipients inbox. Is there anyway that this can be avoided while still
assigning the properties in the ItemSend event?

Here are the methods used to assign the custom properties to the MailItem.

private static void SetNamedMapiProperty(MailItem mailItem, string guid,
string propertyName, string propertyValue, bool unicode)
{
int tag = GetMapiTag(mailItem, guid, propertyName, unicode);
SafeMailItem safeMailItem = RedemptionUtils.CreateSafeMailItem(mailItem);
safeMailItem.set_Fields(tag, propertyValue);
Marshal.ReleaseComObject(safeMailItem);
}

private static int GetMapiTag(MailItem mailItem, string guid, string
propertyName, bool unicode)
{
MAPIUtils mapiUtils = RedemptionUtils.CreateMapiUtils();
int tag = mapiUtils.GetIDsFromNames(mailItem.MAPIOBJECT, guid,
propertyName, true);
if (unicode)
{
tag = tag | 0x1F;
}
else
{
tag = tag | 0x1E;
}
Marshal.ReleaseComObject(mapiUtils);
return tag;
}
Ads