我正在使用EWS从收件箱的电子邮件中单独阅读电子邮件正文部分。
我只需要提取回复的电子邮件正文而不是整个电子邮件正文。
e.g。
************
A This is good tenant.
Regards,
Test
From:test@gmail.com
To: ----
----------
----------
Hi User, Data has been populated. Please reply with A or R with comments.
Regard
Admin.
************
所以,当我阅读上述电子邮件的电子邮件时,我得到了上面提到的全身。但我需要的只是:
************
A This is good tenant.
Regards,
Test
************
只有最新回复的电子邮件正文。
答案 0 :(得分:2)
UniqueBody
这种方法对我有用:
// ensure that username, password, domain and smtpAddress are set
var service = new ExchangeService {
PreAuthenticate = true,
Credentials = new WebCredentials(username, password, domain),
};
service.AutodiscoverUrl(smtpAddress, redirect => true);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, smtpAddress);
var inbox = Folder.Bind(service, new FolderId(WellKnownFolderName.Inbox));
var fir = inbox.FindItems(new ItemView(10));
foreach (var ir in fir) {
var msg = EmailMessage.Bind(service, ir.Id, new PropertySet(EmailMessageSchema.UniqueBody));
Console.WriteLine(msg.UniqueBody.Text);
}
对于结果中的任何后续消息,msg.UniqueBody.Text
属性仅包含该消息中的新部分。
请注意,可能有更好的方法可以执行此操作,但这适用于我的快速测试(针对Exchange Online)。