【问题标题】:Moving emails from one folder to another w/ PowerShell使用 PowerShell 将电子邮件从一个文件夹移动到另一个文件夹
【发布时间】:2018-07-02 19:28:39
【问题描述】:

使用 PowerShell,我正在尝试编写一个脚本,一旦我完成了我想要的操作,它将把一封电子邮件从我的收件箱移动到一个文件夹中。这是我目前所拥有的。

$folder = $namespace.GetDefaultFolder(6)
$filepath = "C:\Users\Documents\PowerShell"
$folder.Items| foreach {
        $_.attachments|foreach {
            $filename = $_.filename
                If ($filename.Contains("test.xls")) {
                        $_.saveasfile((Join-Path $filepath $filename))
                        Rename-Item -LiteralPath '.\test.xls' -NewName "Server.xls"
                        #File move code should go here
                        }

                If ($filename.Contains("test2.xls")) {
                        $_.saveasfile((Join-Path $filepath $filename))
                        Rename-Item -LiteralPath '.\test2.xls' -NewName "Workstation.xls"
                        #File move code should go here
                        }       
        }
}

现在我已经设置好了,它会在我的收件箱中搜索包含具有特定名称的 .xls 附件的任何电子邮件,重命名 .xls 附件,并将其保存到我文档中的指定文件夹中。现在,一旦完成,我想将包含附件的原始电子邮件移动到我的 Outlook 电子邮件中名为“测试文件夹”的文件夹中。我在网上看到了一些类似的例子,但似乎没有什么对我有用。有关如何执行此操作的任何建议?

【问题讨论】:

    标签: powershell email outlook powershell-ise


    【解决方案1】:

    您需要使用 Move 方法将 Microsoft Outlook 项目移动到新文件夹。

    要找到所需的文件夹,您可以使用 Folder.Folders 属性遍历它们。请参阅How to: Enumerate Folders 了解更多信息。

    【讨论】:

    • 我正在使用移动方法将邮件从收件箱归档到另一个文件夹。但是只有在 Outlook 关闭时才会归档邮件。当 Outlook 打开时,邮件不会移动到其他文件夹。您能否帮助我解决这种奇怪行为的原因,或者提出一种解决方法,以便在 Outlook 打开时也可以存档邮件。我用这个论坛来了解邮件的移动。 social.msdn.microsoft.com/Forums/en-US/…
    • 移动和存档是不同的操作。
    • 很抱歉给您带来了误会,我的意思是我想将邮件移动到另一个文件夹,但是当 Outlook 打开时,这不起作用。仅当 Outlook 关闭时,邮件才会移动到所需的文件夹。
    • 您使用什么代码在 Outlook 中移动项目?您如何以及何时运行代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 2012-11-11
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多