我们已经使用电子邮件创建了extendedProperties val uId = getUniqueId();
val emailExtendedPropDef = new ExtendedPropertyDefinition(uId,"uniqueId", MapiPropertyType.String)
try {
email.setExtendedProperty(emailExtendedPropDef, uId.toString)
email.sendAndSaveCopy()
} catch {
case e: Exception =>
error(s"Exception in setting extended property for user $from", e)
throw e
}
现在我们要迭代发送文件夹中的电子邮件,然后查看已设置的电子邮件的extendedProperties
val view = new ItemView(1000)
var extendedPropertyIndex = 0
var bodyList = new ListBuffer[String]()
val propertySet = new PropertySet(BasePropertySet.FirstClassProperties
try {
val findResults = service.findItems(WellKnownFolderName.SentItems, view)
if (findResults.getTotalCount > 0) {
val iterator = findResults.getItems().iterator()
while(iterator.hasNext) {
val item = iterator.next()
val extendedPropertyCollection = item.getExtendedProperties()
println("count is "+extendedPropertyCollection.getCount())
if (extendedPropertyCollection.getCount() > 0)
{
//do some processing
}
}
}
}
我们能够成功检索项目,但不能检索其扩展属性,不确定原因
我们已将计数视为 0 ,尽管我们知道这些项目,但我们已使用上述逻辑设置了extendedProperty ......
如果有人可以指出我们为什么我们收到扩展属性的0计数,并且我们的要求是使用extendedProperties set <检索所有电子邮件,那将是非常有帮助的。 / p>
更新:尝试使用这些选项
val emailIdPropDef = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings,"uniqueId", MapiPropertyType.String)
val propertySet = new PropertySet(BasePropertySet.FirstClassProperties, emailIdPropDef)
view.setPropertySet(propertySet)
但是仍然没有运气任何正确方向的指针都会有很大的帮助
答案 0 :(得分:0)
Exchange只会返回您请求返回的扩展属性。因此,您需要将扩展属性添加到您在FindItems操作中使用的PropertySet中,如果已在FindItem返回的任何对象上设置它,则会返回该属性。此属性
val emailExtendedPropDef = new ExtendedPropertyDefinition(uId,"uniqueId", MapiPropertyType.String)
需要添加到此Propertyset
val propertySet = new PropertySet(BasePropertySet.FirstClassProperties)
并且该属性集应该在此ItemView上使用
val view = new ItemView(1000)
val.PropertySet = propertySet