【问题标题】:VB.Net - Cannot get body of email - Exchange ServicesVB.Net - 无法获取电子邮件正文 - Exchange 服务
【发布时间】:2021-01-07 21:04:49
【问题描述】:

我有一个 VB.Net Visual Studio 应用程序。使用 Exchange Web 服务,我能够阅读电子邮件并获取其主题和发件人。我很难找到一种方法来阅读它的身体。我发现了四种不同的方法,但它们都给了我相同的结果,即文本是这样的:

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

........ MORE HTML

看起来它给了我电子邮件的 html。 我怎样才能得到电子邮件正文中的文本?那将是什么代码? 这是我尝试过的四种方法的代码:

Dim iv As ItemView = New ItemView(999)
        iv.Traversal = ItemTraversal.Shallow
        Dim inboxItems As FindItemsResults(Of Item) = Nothing
        inboxItems = exch.FindItems(WellKnownFolderName.Inbox, iv)
        Dim Count As Integer = inboxItems.Count

For Each i As Item In inboxItems
            Dim Subject = i.Subject
            Dim oMail As EmailMessage = EmailMessage.Bind(exch, i.Id)
            Dim email = oMail.From.Address.ToString

'FIRST WAY TRIED
            Dim body = i.Body.Text

'SECOND WAY TRIED
            i.Load()
            Dim bodyagain = i.Body

'THIRD WAY TRIED
            Dim item As Item = Item.Bind(exch, i.Id)
            Dim bodynew = item.Body.ToString

'FOURTH WAY TRIED
            For Each msg As EmailMessage In inboxItems
               msg.Load()
               Dim bodyTry = msg.Body
            Next

Next

【问题讨论】:

    标签: vb.net outlook exchangewebservices


    【解决方案1】:

    默认情况下,EWS 将返回 HTML 正文,这就是您总是得到该结果的原因。如果您想要文本正文,则需要使用属性集并指定它,然后在使用加载或绑定时加载该属性,例如

     Dim bodyPropSet As New PropertySet(BasePropertySet.FirstClassProperties)
     bodyPropSet.Add(ItemSchema.Body)
     bodyPropSet.RequestedBodyType.Value = BodyType.Text
     i.Load(bodyPropSet)
     Dim bodyText = i.Body.Text
    

    如果您经常这样做,请考虑使用 LoadPropertiesForItems 来提高效率,因为该代码循环在处理大量项目时会执行得非常糟糕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 2012-07-13
      • 1970-01-01
      • 2019-12-16
      相关资源
      最近更新 更多