我正在创建一个脚本,该脚本将在用户的电子邮件帐户中查找以查找电子邮件,然后从电子邮件中下载附件。
这将自动选择写入时用户的默认电子邮件帐户。但是,我要在Outlook中使用第二个电子邮件帐户代替。
是否可以更改它搜索的电子邮件帐户?
$outlook = New-Object -comobject outlook.application
$namespace = $outlook.GetNamespace("MAPI")
#Below: 6 is the default for inbox, so this saves the user from having to select the inbox folder. Change if emails w/ attatchements are going to a different folder.
$folder = $namespace.GetDefaultFolder(6)
$filepath = "C:\Users\Documents\PowerShell"
$folder.Items | foreach {
$_.attachments | foreach {
$filename = $_.filename
If ($filename.Contains("example1.xls")) {
$_.saveasfile((Join-Path $filepath $filename))
Rename-Item -LiteralPath '.\example1.xls' -NewName "Server.xls"
}
If ($filename.Contains("example2.xls")) {
$_.saveasfile((Join-Path $filepath $filename))
Rename-Item -LiteralPath '.\example2.xls' -NewName "Workstation.xls"
}
}
}
答案 0 :(得分:0)
不是使用$namespace.GetDefaultFolder(6)
,而是从Namespace.Stores
集合中找到适当的Store对象,然后调用Store.GetDefaultFolder
。
如果另一个邮箱不在Namespace.Stores
集合中,请呼叫Namespace.CreateRecipient
/ Namespace.GetSharedDefaultFolder
。