从我的邮箱中读取邮件的Powershell ews脚本正在检索FROM和SUBJECT的值,但未为邮件正文返回任何内容

时间:2019-01-04 16:56:54

标签: powershell email exchangewebservices

我编写了一个powershell脚本,以从Outlook交换邮箱中的最新邮件返回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
}

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

1 个答案:

答案 0 :(得分:1)

创建一个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)