I have a very special problem.
If we create a mail in Outlook, we add a UserProperty which contains a DataBase-ID of our System, so we can Link the mail to the representing DataBase-Item. On the service which reads the mails in each Mailbox and imports them automatically I can read this property by using ExtendedPropertyDefinitions. So far everything is fine…
If the User now forwards the message in Outlook, Olk copies the UserProperty to the new message. And now my problems beginn. Now my Service thinks the new message is also linked to our database and updates DB-Entry with the new Body and new Subject.
So does anyone now how to find out if a message is a forwarded one or how to tell Outlook not to copy the userproperty to the forwarded (new) message?
thx. Jay
What we thought about, but isnt working for our case
– a second userproperty containing a simple tag linke “fromSystem”. Cause this would be copied too.
– a second userproperty containing a hashsum calculated from subject and Body. Cause both could be changed by the user. We just create the message, add all properties and Display it. from this Point on we no longer have control what is Happening to the mail until the Service handles it.
Your service consuming EWS should check the
ConversationIndexand only update the database if it’s 22 bytes long (original source message). Forward emails and reply emails keep appending 5 bytes (10 chars) to theConversationIndexextending it beyond 22 bytes.Sample ConversationIndexes
ConversationIndexrepresents the sequential ordering of theConversationTopic(essentially GUID + timestamp). See Working with Conversations on MSDN.ConversationIndexis explicitly defined on MSDN here.Also make sure you load the
EmailMessageSchema.ConversationIndexbefore trying to access its value.