尝试在ExtendedPropertyDefinition中获取文本正文时未收到任何响应

问题描述:

我希望以纯文本格式接收邮件正文文本。 我正在使用下面的代码,但是当我试图通过扩展属性集合时,它什么也没给。尝试在ExtendedPropertyDefinition中获取文本正文时未收到任何响应

extendedPropertyDefinition = new ExtendedPropertyDefinition(0X1000, 
       MapiPropertyType.String); 

propertySet = new PropertySet(PropertySet.FirstClassProperties.getBasePropertySet(), 
       ItemSchema.MimeContent, extendedPropertyDefinition); 

propertySet.setRequestedBodyType(BodyType.HTML); 


emailMessage = EmailMessage.bind(service, itemId, propertySet); 

如果你想在纯正文则只是让

propertySet.setRequestedBodyType(BodyType.HTML);

propertySet.setRequestedBodyType(BodyType.Text);

你不能要求这两种体类型相同的请求EWS将只提供,甚至一回给你。如果你想同时请求这两个请求,你可以尝试将它从MimeContent中解析出来,但是你是否会在这里得到两个将取决于消息的原始格式。很多时候,当询问文本正文时,Exchange商店会根据消息发送的原始格式进行一次转换。

+0

我想要HTML和纯文本内容。 如果我尝试下面的代码: - PR_HTML_BODY = new ExtendedPropertyDefinition(0X1013, MapiPropertyType.Binary); propertySet = new PropertySet(PropertySet.FirstClassProperties.getBasePropertySet(), ItemSchema.MimeContent,PR_HTML_BODY); propertySet.setRequestedBodyType(BodyType.Text); 这将HTML作为字节[],同时将此字节[]转换为字符串,它会为特殊字符生成垃圾。 是否有无法通过ExtendedPropertyDefinition获取纯文本 –

+0

您不能在同一请求中请求两个消息正文(即使您使用扩展属性),但由于我提到的原因,它不起作用,您将需要提出两个请求。在这种情况下,您不需要使用扩展属性,只需使用强类型扩展属性即可,因为它会返回字符串,所以不会收到问题。 –