我正在用 C# 开发一个 OUTLOOK 2010 插件。此插件将根据对话创建活动。例如,一个用户创建新电子邮件,其他用户回复、转发或抄送,将此电子邮件链视为一个会话线程。这些电子邮件具有相同的 mailItem.ConversationID。基于这个对话ID,我的程序生成了一个活动,并将对话ID链接到可以在这个电子邮件链中的每封电子邮件中看到的活动。在我的机器上一切正常(我在同一个电子邮件链中回复、转发、抄送,它得到相同的会话 ID)。但是,当其他用户回复电子邮件触发我的程序生成活动时,它会生成不同的 ConversationID(相同的电子邮件链)。
我的问题是: 1.ConversationID 仅在本地有效?就像不同用户机器上的同一个email Chain,conversationID不一样?2.只要用户使用相同版本的OUTLOOK,是否有一个电子邮件链的通用mailitem conversationID?
var mailItem = this.OutlookItem as OutlookNS.MailItem;
if (mailItem.ConversationID != null )
{
OutlookHelper.Conversation_Index = mailItem.ConversationIndex;
OutlookHelper.Conversation_Topic = mailItem.ConversationTopic;
OutlookHelper.Current_ConversationID = mailItem.ConversationID;
CreateActivity(mailItem.ConversationTopic,mailItem.ConversationID);
}
我已经尝试过 EntryID,这个属性一直在变化。