EWS body plain text

允我心安 提交于 2019-11-26 16:06:18

问题


I use EWS to get exchange emails, but how can i get plain text from email body, without html?
Now i use this:

EmailMessage item = (EmailMessage)outbox.Items[i];
item.Load();
item.Body.Text

回答1:


In the PropertySet of your item you need to set the RequestedBodyType to BodyType.Text. Here's an example:

PropertySet itempropertyset = new PropertySet(BasePropertySet.FirstClassProperties);
itempropertyset.RequestedBodyType = BodyType.Text;
ItemView itemview = new ItemView(1000);
itemview.PropertySet = itempropertyset;

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, "subject:TODO", itemview);
Item item = findResults.FirstOrDefault();
item.Load(itempropertyset);
Console.WriteLine(item.Body);



回答2:


In powershell:

    .........    
$message = [Microsoft.Exchange.WebServices.Data.EmailMessage]::Bind($event.MessageData,$itmId)

$PropertySet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)
$PropertySet.RequestedBodyType = [Microsoft.Exchange.WebServices.Data.BodyType]::Text
$message.Load($PropertySet)
$bodyText= $message.Body.toString()



回答3:


I had the same issue. All you have to do is set RequestedBodyType property of the property set you are using.

    PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.Subject, EmailMessageSchema.Body);
    propSet.RequestedBodyType = BodyType.Text;
    var email = EmailMessage.Bind(service, item.Id, propSet);



回答4:


you can use

service.LoadPropertiesForItems(findResults, itempropertyset);

to load properties for all items




回答5:


The shortest way to do it is like this:

item.Load(new PropertySet(BasePropertySet.IdOnly, ItemSchema.TextBody, EmailMessageSchema.Body));

This has got the advantage that you get both, text-body and html-body.



来源:https://stackoverflow.com/questions/11243911/ews-body-plain-text

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!