我的任务:构建一个自动化任务,定期将 gmail 报告附件保存到 Win10 文件夹以供进一步分析。目前这是作为手动过程完成的。平台为本地Win10-PC,不使用Outlook365。本地 Outlook.exe 链接到 Gmail。
Powershell 7x/VSCode(1.52) 是平台,尝试了各种编码策略,但都失败了。研究了 Stackoverflow 的许多建议,但没有成功。该脚本已加载 ImapX.DLL Version=2.0.0.19
目标:导航到电子邮件子文件夹并检索内容。到目前为止的代码可以从根文件夹“INBOX”中检索,但这不是所需消息所在的位置。使用 Outlook 规则将传入邮件路由到必要的子文件夹。副本内容存在 2 个必需的子文件夹,两者都可以。邮件子文件夹可在 Outlook 2019 中轻松浏览。
到目前为止的代码片段......这是事情没有按预期进行的地方,所以代码有误???搜索子文件夹不起作用。#获取包含所需电子邮件的文件夹/子文件夹对象。
*************** Start Of Code
$numberOfMessagesLimit = 15
$MyFilter= $client.folders | Where-Object { $_.path -eq 'INBOX'} #<< Successful
#these test variants of path all will return NULL
#$MyFilter1 = $client.folders | Where-Object { $_.path -eq 'INBOX/Cindy'}
#$MyFilter2 = $client.folders | Where-Object { $_.path -eq '.\\inbox/Cindy'}
#$MyFilter3 = $client.folders | Where-Object { $_.path -eq '.\inbox/Cindy'}
#$MyFilter4 = $client.folders | Where-Object { $_.path -eq 'INBOX/Cynthia Whitburn'}
#$MyFilter5 = $client.folders | Where-Obje`enter code here`ct { $_.path -eq '\\INBOX/Cynthia Whitburn'}
#$MyFilter6 = $client.folders | Where-Object { $_.path -eq '\INBOX/Cynthia Whitburn'}
# Search email threads inside the subfolder
$messages = $MyFilter.search("All", $client.Behavior.MessageFetchMode, $numberOfMessagesLimit) #<< Successful
*************** End Of Code
第一行 $MyFilter 是成功的,但以下行因每个返回 NULL 而失败。
为了符合条件,这些路径和名称存在于先前创建的 $client.folders 对象中,并且与对象中显示的完全匹配,如 MyFilter2 和 MyFilter5 所示,因此尽管所有过滤器*都返回 NULL。
所以我的要求是指导如何导航到所需的文件夹并仅在该文件夹中捕获消息。
非常感谢和赞赏可能提供的任何提示。一个