我正在尝试将邮件项目从一个邮箱复制到另一个邮箱,但是当我使用 Folder.Copy 方法将一个邮箱的收件箱文件夹复制到另一个邮箱时,它不是合并数据而是创建名为 Inbox1 的文件夹,
这是我的代码:
$outlook = New-Object -ComObject outlook.application
$namespace = $Outlook.GetNameSpace("mapi")
$namespace.Logon("Outlook")
$LocalStore = $Namespace.Stores[3]
$RemoteStore = $Namespace.Stores[1]
$LocalFolders = $LocalStore.GetRootFolder().folders
$RemoteFolders = $RemoteStore.GetRootFolder().folders
$RemoteInbox = $RemoteFolders | ? {$_.Name -eq "Inbox"}
$LocalInbox = $LocalFolders | ? {$_.Name -eq "Inbox"}
$RemoteInbox.CopyTo($LocalInbox.Parent)
要解决方法,我可以使用 Items Copy :
Foreach ($Item in $RemoteInbox.Items)
{
$Copy = $Item.Copy()
[void]$Copy.Move($TargetFolder)
}
但它要慢得多,如果我有子文件夹,则需要特别注意额外的代码,
在没有找到解决方案的情况下搜索网络 任何帮助表示赞赏