- 所以我下面的脚本,从我的Outlook收件箱中检索12日的电子邮件(我知道foreach
是不太必要的时刻):在PowerShell中使用Outlook API来计算邮件传递时间
Add-Type -assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -comobject Outlook.Application -ErrorAction SilentlyContinue
$namespace = $Outlook.GetNameSpace("MAPI")
foreach($mail in $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox).Items(12))
{
Write-Host "Mail subject: " $mail.TaskSubject
Write-Host "Sent on: " $mail.SentOn
Write-Host "Received on: "$mail.ReceivedTime
$time = $mail.ReceivedTime -= $mail.SentOn
}
输出:
邮件主题:买鞋
发送于:2017年4月5日二十时10分15秒
收件日期:2017年4月5日20时10分25秒
我能够检索发送和接收时间,但我无法它们。减去对方看多久采取了电子邮件的方式。
我试图输出$time
变量,但它是空的,它不显示任何错误。我会如何纠正这一点?
- 是否有可能获得使用该API的电子邮件标题?我试图避开它,但我认为这是不可能没有其他库(因为属性EmailHeader
不存在
? - 我需要一个电子邮件“专家”为我的下一个问题当我检查电子邮件的标题时,我注意到SentOn
和ReceivedTime
无法在电子邮件标题中找到,有时候我可以找到几秒钟或更少的时间,其他场合我发现0比较结果。
这是为什么?
是' - ='一个错字吗?在该位置使用它似乎不是一个有效的运营商。 –
是的,这是非常感谢你注意到 –
你对我的主要问题马克其他单独的问题有任何想法吗?只是想知道 –