【发布时间】:2017-04-19 20:14:08
【问题描述】:
我想获取电子邮件正文。使用下面的代码可以获取未格式化的 HTML 的正文。有没有办法直接获取正文?有没有办法可以解析这个未格式化的 HTML并获取实际的正文。我想要文本“Accesscode is 1603”作为输出。
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.AutodiscoverUrl("Deepak.kothari@domain.com");
List<SearchFilter> searchFilterCollection = new List<SearchFilter>();
searchFilterCollection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Subject, "AccessCode"));
SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, searchFilterCollection.ToArray());
ItemView view = new ItemView(50);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, ItemSchema.DateTimeReceived);
view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Descending);
view.Traversal = ItemTraversal.Shallow;
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, searchFilter, view);
foreach (Item myItem in findResults.Items)
{
myItem.Load();
if (myItem is EmailMessage)
{
Console.WriteLine(HttpUtility.HtmlEncode((myItem as EmailMessage).Body));
}
else if (myItem is MeetingRequest)
{
Console.WriteLine((myItem as MeetingRequest).Subject);
}
else
{
// Else handle other item types.
}
注意:我使用的是 Exchange 2010。
【问题讨论】:
-
谢谢....使用 HtmlAgilityPack 能够解析 HTML。
标签: c# exchangewebservices exchange-server-2010