EWSを使用して交換メールを取得していますが、HTMLを使用せずにメール本文からプレーンテキストを取得するにはどうすればよいですか?
今私はこれを使用します:
EmailMessage item = (EmailMessage)outbox.Items[i];
item.Load();
item.Body.Text
EWSを使用して交換メールを取得していますが、HTMLを使用せずにメール本文からプレーンテキストを取得するにはどうすればよいですか?
今私はこれを使用します:
EmailMessage item = (EmailMessage)outbox.Items[i];
item.Load();
item.Body.Text
アイテムの PropertySet で、RequestedBodyType を BodyType.Text に設定する必要があります。次に例を示します。
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);
同じ問題がありました。使用しているプロパティ セットの RequestedBodyType プロパティを設定するだけです。
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.Subject, EmailMessageSchema.Body);
propSet.RequestedBodyType = BodyType.Text;
var email = EmailMessage.Bind(service, item.Id, propSet);
それを行う最短の方法は次のとおりです。
item.Load(new PropertySet(BasePropertySet.IdOnly, ItemSchema.TextBody, EmailMessageSchema.Body));
これには、text-body と html-body の両方を取得できるという利点があります。