这是我用来解析我的电子邮件的代码。如果它们与特定日期匹配,我想将它们添加到其他电子邮件列表中,然后将其制作成一个平面文件:
outfile = "C:\Temp\emails.csv"
$olFolderInbox = 6
$ol = new-object -comobject "Outlook.Application"
$mapi = $ol.getnamespace("mapi")
$inbox = $mapi.GetDefaultFolder($olFolderInbox)
$msgs = $inbox.Folders.Item("root")
$list1 = @()
foreach($message in ($msgs.items))
{
if($message.ReceivedTime -gt $(get-date).adddays(-14))
{
$list1 += "$($message.Subject);$($message.ReceivedTime);$($message.Body.Replace("`n",", "))"
}
}
if(Test-Path $outfile)
{
Remove-Item $outfile
Add-Content $outfile $list1
}
else
{
Add-Content $outfile $list1
}
我遇到的问题是,replace 语句$message.Body.Replace("`n",", ")
实际上并没有删除换行符,并且文件没有正确创建。有没有办法确认正文部分的全部内容变成单行?
我已经确认该$message.body
对象是一个字符串,所以我不确定为什么这不起作用。