C# で OUTLOOK 2010 アドインを開発しています。このアドインは、会話に基づいてアクティビティを作成します。たとえば、あるユーザーが新しいメールを作成し、他のユーザーが返信、転送、CC を行い、このメール チェーンを 1 つの会話スレッドとして扱います。メールの mailItem.ConversationID は同じです。この会話 ID に基づいて、私のプログラムは活動を生成し、この電子メール チェーンの各電子メールで確認できる活動に会話 ID をリンクします。私のマシンではすべて正常に動作します (同じメール チェーンで返信、転送、cc を実行すると、同じ会話 ID が取得されます)。ただし、他のユーザーの返信メールが私のプログラム生成アクティビティをトリガーすると、異なる ConversationID (同じメール チェーン) が生成されました。
私の質問は: 1.ConversationID はローカルでのみ機能しますか? 異なるユーザーのマシンにある同じメール チェーンのように、会話 ID は異なりますか? 2.ユーザーが同じバージョンの OUTLOOK を使用している限り、1 つの電子メール チェーンに共通のメールアイテムの会話 ID はありますか?
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 は既に試しましたが、この属性は変化し続けています。