有没有一种方法可以使用ews c#来确定电子邮件是否是回复/响应
本文关键字:电子邮件 是否是 响应 回复 ews 一种 可以使 方法 有没有 | 更新日期: 2023-09-27 18:25:03
我正在编写一个支持系统,这是我第一次使用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);
}
}
InReplyTo是一个字符串值,包含此消息作为回复的项目的标识符。如果它为null,则该消息不是回复。
var mailItem = myItem as EmailMessage;
if (mailItem.InReplyTo != null)
{
// this is a reply message
.
.
.
}
进一步信息:MSDN InReplyTo
好的。从评论来看。似乎真的没有一个确定的方法。人们的评论帮助我得到了这个答案,并关闭了这个帖子。我会改写并张贴在这里。所以首先。谢谢你的回答。
最简单的方法是在你的科目中加入一个好的参考号。如"Sup-1234"
现在,在代码中,我们可以检查标题中的参考号。如果它在那里。这很可能是一种回应。检查RE也是一种选择,但效果较差。更糟糕的是,客户可以从主题标题中删除参考号/RE。为了那些家伙。可怜的你,你的问题不会被记录下来。或者你知道。做任何事。:)
再次感谢所有回复。你们真的帮了我很多!