サポート システムを作成していますが、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);
}
}