Моя задача: Создать автоматизированную задачу для периодического сохранения вложений отчетов Gmail в папки Win10 для дальнейшего анализа. В настоящее время это выполняется вручную. Платформа представляет собой локальный ПК Win10 и не использует 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.
Поэтому я прошу дать вам руководство о том, как перейти к нужной папке и захватить сообщения только в этой папке.
Большое спасибо и признательность за любые советы, которые могут быть предложены. А