有没有办法确定电子邮件是否是使用ews c#的回复/回复?

Kap*_*all 10 c# exchangewebservices

我正在编写支持系统,这是我第一次使用EWS.到目前为止,我一直很成功.我可以提取我需要的信息.发送电子邮件,一切都很好.我确实有一个小小的头痛.有没有办法判断一封电子邮件实际上是否是回复?该应用程序的基本思想是有人发送电子邮件.我们回复并给他们一个参考编号.这样做并且运作良好.现在,如果他们回复同一个地址,我们需要在数据库中记录它有点不同.因此,我需要一些神奇的方法来判断电子邮件是否是回复.到目前为止,我被困住了.

任何建议都将受到高度赞赏,因为我是编程行业的新手,到目前为止谷歌搜索没有任何用处.我在这里包含一段代码

 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);
            }

        }
Run Code Online (Sandbox Code Playgroud)

jim*_*415 6

InReplyTo是一个字符串值,包含此消息作为回复的项目的标识符.如果它为null,则该消息不是回复.

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

更多信息:MSDN InReplyTo


Kap*_*all 1

好的。所以从评论来看。似乎还没有真正确定的方法。人们的评论帮助我得到了这个答案并关闭了这个帖子。我将重写并将其发布在这里。那么首先。感谢您的所有回答。

最简单的方法是在您的主题中包含一个好的参考号。例如“Supp-1234”

现在在代码中我们可以检查标题中的参考号。如果它在那里的话。这很可能是一种回应。检查 RE 也是一种选择,但效果稍差。令人遗憾的是,客户可以从主题标题中删除参考号/RE。对于那些家伙。可怜的你,你的问题不会被记录。或者你知道。做任何事。:)

再次感谢所有回复。你们真的帮了我很多!