- 所以我下面的腳本,從我的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比較結果。
這是爲什麼?
是' - ='一個錯字嗎?在該位置使用它似乎不是一個有效的運營商。 –
是的,這是非常感謝你注意到 –
你對我的主要問題馬克其他單獨的問題有任何想法嗎?只是想知道 –