3

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 は既に試しましたが、この属性は変化し続けています。

4

1 に答える 1

1

私は自分でそれを理解しました。同じメール チェーン内のすべてのメールは、ConversationIndex の最初の 44 文字が同じです。新しい返信者がこのメールに返信するたびに、ConversationIndex は新しい ramdon で生成された 44 文字の文字列を追加します。これは、異なるマシンを使用するユーザーに適用されるユニバーサル ID です。しかし、このメールの件名が変更されると、まったく新しい 44 文字の ConversationIndex が生成されます。ConversationID はローカルでのみ機能し、同じメール チェーン内のメールを追跡します

于 2013-02-12T19:19:37.003 に答える