首页 > 解决方案 > 通过 power shell 脚本从 Outlook 中删除基于主题的邮件

问题描述

我编写了一个脚本来删除特定 Outlook 帐户中的特定邮件,但它不是基于邮件主题删除邮件。谁能告诉我我的代码有什么问题

代码

    $Outlook = New-Object -ComObject Outlook.Application
    # Delete an Email from the folder Inbox with Subject Title "Action"
    $EmailInFolderToDelete = $Outlook.Session.Folders.Item(1).Folders.Item("Inbox").Items
    $EmailInFolderToDelete | ft SentOn, Subject, SenderName, To, Sensitivity -AutoSize -Wrap 
    $EmailToDelete = $EmailInFolderToDelete | Where-Object {$_.Subject -eq "Test mail";}
    $EmailToDelete.Delete()

它没有显示所需的结果,也没有从特定的 Outlook 帐户中删除特定的邮件。任何人都可以帮我解决这个问题。

标签: powershell

解决方案


基于this hey scripting guy blog post上的代码。它工作得很好。

$olFolders = “Microsoft.Office.Interop.Outlook.olDefaultFolders” -as [type]

$outlook = new-object -comobject outlook.application

$namespace = $outlook.GetNameSpace(“MAPI”)

$folder = $namespace.getDefaultFolder($olFolders::olFolderInBox)

$emailToDelete = $folder.items | Where-Object {$_.Subject -eq "Test mail";}

$EmailToDelete.Delete()

推荐阅读