0

此代码有效,只是 From 属性返回为空白。再多的使用 PropertySets 似乎都无法解决它。有人知道我在做什么错吗?

Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
SearchFilter.SearchFilterCollection sfc = new SearchFilter.SearchFilterCollection(LogicalOperator.Or);
sfc.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, true));
ItemView view = new ItemView(1000);
view.PropertySet = new PropertySet(BasePropertySet.FirstClassProperties);
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sfc, view);


foreach (EmailMessage i in findResults)
{
  Console.WriteLine("Received: " + i.DateTimeReceived.ToString() + " From: " + i.From + " Subject: " + i.Subject);
}
4

2 回答 2

0

引用:“FindItem 操作仅返回任何可流式传输属性的前 512 个字节。对于 Unicode,它使用以 null 结尾的 Unicode 字符串返回前 255 个字符。它不返回任何消息正文格式或收件人列表。 FindItem 将返回收件人摘要。您可以使用GetItem操作来获取项目的详细信息
。FindItem 仅返回 Name (EmailAddressType) 元素,而不返回 Mailbox 元素中的 EmailAddress (NonEmptyStringType) 元素,用于以下字段
:消息
的发件人字段 消息的发件人字段
日历项目的组织者字段"

另请参阅此 Stackexchange 问题

于 2013-03-13T08:33:37.137 回答
0

为了清楚起见,我真正需要的是:

Console.WriteLine("发件人:" + i.From.Name);

于 2013-03-14T04:20:59.530 回答