style - Texto sin formato del cuerpo de EWS
image title html (5)
En el conjunto de propiedades de su elemento, debe establecer RequestedBodyType en BodyType.Text. Aquí hay un ejemplo:
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);
Yo uso EWS para obtener correos electrónicos de intercambio, pero ¿cómo puedo obtener texto sin formato del cuerpo del correo electrónico, sin html?
Ahora uso esto:
EmailMessage item = (EmailMessage)outbox.Items[i];
item.Load();
item.Body.Text
En 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()
La forma más rápida de hacerlo es así:
item.Load (nuevo PropertySet (BasePropertySet.IdOnly, ItemSchema.TextBody, EmailMessageSchema.Body));
Esto tiene la ventaja de que obtienes cuerpo de texto y cuerpo html
Tuve el mismo problema. Todo lo que tiene que hacer es establecer la propiedad RequestedBodyType del conjunto de propiedades que está utilizando.
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.Subject, EmailMessageSchema.Body);
propSet.RequestedBodyType = BodyType.Text;
var email = EmailMessage.Bind(service, item.Id, propSet);
puedes usar
service.LoadPropertiesForItems(findResults, itempropertyset);
para cargar propiedades para todos los artículos