作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写代码以从 Exchange 2010 获取消息正文。我在 C# 程序中使用 EWS。
我试过:
FindItemsResults<Item> fiitems = service.FindItems(folder.Id, "from:*", iv);
foreach (Item item in fiitems)
{
if (item is EmailMessage)
{
Console.WriteLine("subject");
Console.WriteLine((item as EmailMessage).Subject);
Console.WriteLine("body");
Console.WriteLine((item as EmailMessage).Body);
}
}
Console.WriteLine("Subject:\t" + item.Subject);
Console.WriteLine("Title:\t" + item.TextBody);
Console.WriteLine("Received At:\t\t" + item.DateTimeReceived.ToString("dd MMMM yyyy"));
Console.WriteLine();
最佳答案
当您在 EWS 中使用 FindItems 操作时,它只会返回可用于项目的属性的子集。它不会返回的属性之一是 Body 属性(或任何大于 512 字节的流属性),请参阅 http://msdn.microsoft.com/EN-US/library/office/dn600367(v=exchg.150).aspx
您需要做的是使用 GetItem 操作(即托管 API 中的 Load() 方法)来实现此目的,最有效的方法是使用 LoadPropertiesForItems 方法,该方法将执行批处理 GetItem,因此您需要修改您代码如
PropertySet Props = new PropertySet(BasePropertySet.IdOnly);
Props.Add(ItemSchema.Body);
Props.Add(ItemSchema.Subject);
FindItemsResults<Item> fiitems = null;
do
{
fiitems = service.FindItems(Folder.Id, "from:*", iv);
if (fiitems.Items.Count > 0)
{
service.LoadPropertiesForItems(fiitems.Items, Props);
foreach (Item item in fiitems)
{
if (item is EmailMessage)
{
Console.WriteLine("subject");
Console.WriteLine((item as EmailMessage).Subject);
Console.WriteLine("body");
Console.WriteLine((item as EmailMessage).Body);
}
}
}
iv.Offset += fiitems.Items.Count;
} while (fiitems.MoreAvailable);
关于c#-4.0 - 如何在 C# 中使用 Exchange 2010 检索邮件正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028760/
我是一名优秀的程序员,十分优秀!