首页 > 解决方案 > 用于从我的邮箱中读取邮件的 Powershell ews 脚本正在检索 FROM 和 SUBJECT 的值,但没有为邮件正文返回任何内容

问题描述

我编写了一个 powershell 脚本来从我的 Outlook Exchange 邮箱的最新邮件中返回 FROM、SUBJECT 和邮件正文。该脚本返回 FROM 和 SUBJECT,但没有返回邮件正文。下面是我的代码片段

$findResults=$inbox.FindItems(1)
foreach ($item in $findResults.Items)
{
    "From: $($item.From.Name)"
    "Subject: $($item.Subject)"
    "Body: $($Item.Body.Text)"
    $item.From.Name| Out-File 'D:\newsample.txt'
    $item.Subject| Out-File 'D:\newsample.txt' -Append
    $item.Body.Text| Out-File 'D:\newsample.txt' -Append
}

控制台和文件中没有邮件正文的输出。请帮我解决问题

标签: powershellemailexchangewebservices

解决方案


创建一个PropertySet以访问该Body属性,因为它在调用中不可用FindItems

$psPropertySet = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)
$psPropertySet.RequestedBodyType = [Microsoft.Exchange.WebServices.Data.BodyType]::Text;

然后加载PropertySet以获取Body

$item.load($psPropertySet)

推荐阅读