Вложение электронной почты Outlook как электронная почта - PullRequest
0 голосов
/ 22 марта 2019

Я использую PowerShell для автоматизации управления входящими сообщениями Outlook. Суть в том, что все электронные письма, которые попадают в этот почтовый ящик, содержат прикрепленное письмо, которое я хочу сделать, например, прочитать тему, найти определенные строки в теле и т. Д.

У меня нет проблем с доступом к этим свойствам из электронного письма, полученного в самой папке входящих сообщений, но когда я получаю доступ к вложению, я получаю com-объект, и у меня нет доступных свойств или методов для получения информация, которую я хочу.

$mail.Subject
test email

$mail.Body
This is a test email

$mail.Attachments

Application      : Microsoft.Office.Interop.Outlook.ApplicationClass
Class            : 5
Session          : System.__ComObject
Parent           : System.__ComObject
DisplayName      : test
FileName         : test.msg
Index            : 1
MAPIOBJECT       : System.__ComObject
PathName         : 
Position         : 0
Type             : 5
PropertyAccessor : System.__ComObject
Size             : 30784
BlockLevel       : 0


$att = $mails.Attachments

$att | gm

   TypeName: System.__ComObject#{00063007-0000-0000-c000-000000000046}

Name                 MemberType Definition                                 
----                 ---------- ----------                                 
Delete               Method     void Delete ()                             
GetTemporaryFilePath Method     string GetTemporaryFilePath ()             
SaveAsFile           Method     void SaveAsFile (string)                   
Application          Property   _Application Application () {get}          
BlockLevel           Property   OlAttachmentBlockLevel BlockLevel () {get} 
Class                Property   OlObjectClass Class () {get}               
DisplayName          Property   string DisplayName () {get} {set}          
FileName             Property   string FileName () {get}                   
Index                Property   int Index () {get}                         
MAPIOBJECT           Property   IUnknown MAPIOBJECT () {get}               
Parent               Property   IDispatch Parent () {get}                  
PathName             Property   string PathName () {get}                   
Position             Property   int Position () {get} {set}                
PropertyAccessor     Property   PropertyAccessor PropertyAccessor () {get} 
Session              Property   _NameSpace Session () {get}                
Size                 Property   int Size () {get}                          
Type                 Property   OlAttachmentType Type () {get}  

Как мне получить доступ к этому вложению, как если бы это был объект сообщения?

...