11

サポート システムを作成していますが、EWS を使用するのはこれが初めてです。これまでのところ、私はそれでかなり成功しています。必要な情報を抽出できます。電子メールを送信すると、すべてがうまく機能しています。小さな頭痛が 1 つあります。電子メールが実際に返信であるかどうかを確認する方法はありますか? このアプリの基本的な考え方は、誰かがメールを送信することです。返信し、参照番号を提供します。これは完了し、うまく機能しています。彼らがこの同じアドレスに返信する場合、データベースに少し異なるログを記録する必要があります。したがって、メールが返信かどうかを判断する魔法のような方法が必要です。これまでのところ、私は立ち往生しています。

私はプログラミング業界では新しく、これまでのところグーグルは役に立たなかったので、どんな提案も大歓迎です。ここにコードのセクションを含めます

 FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, view);

        foreach (Item myItem in findResults.Items.Where(i => i is EmailMessage))
        {
            var mailItem = myItem as EmailMessage;
            if (!mailItem.IsRead)
            {
                // load primary properties and get a text body type
                mailItem.Load(propertySet);
                // Update the item to isRead in email
                mailItem.IsRead = true;
                mailItem.Update(ConflictResolutionMode.AutoResolve);

                //Check if it is a reply and mark the msg as such

                // add message to list
                SupportEmailMessage msg = new SupportEmailMessage();
                msg.Subject = mailItem.Subject;
                msg.MessageBody = mailItem.Body.Text;
                msg.DateSent = mailItem.DateTimeSent;
                msg.Sender = mailItem.Sender.Address;
                toReturnList.Add(msg);
            }

        }
4

2 に答える 2

7

InReplyToは、このメッセージが返信されるアイテムの識別子を含む文字列値です。null の場合、メッセージは返信ではありません。

var mailItem = myItem as EmailMessage;
if (mailItem.InReplyTo != null)
{
   // this is a reply message
   .
   .
   .
}

詳細情報: MSDN InReplyTo

于 2014-10-01T14:32:33.353 に答える