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
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);
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()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With