gpt4 book ai didi

powershell - 如何通过 PowerShell 从 Outlook 文件夹内的电子邮件中获取电子邮件地址?

转载 作者:行者123 更新时间:2023-12-02 23:09:28 25 4
gpt4 key购买 nike

我有一个 Outlook 文件夹,我们称之为 LoremIpsum ,我有 1000 多个电子邮件草稿,我想列举这些草稿并通过 PowerShell 进行一些过滤。我可以使用以下脚本访问该文件夹并查看电子邮件:

Function HandleRemaining {
[CmdletBinding()]
Param()

BEGIN {
Clear-Host
}

PROCESS {
$outlook = New-Object -ComObject outlook.application
$mapi = $outlook.getnamespace("MAPI");

$email = $mapi.Folders.Item(1).Folders.Item('LoremIpsum').Items(1)

foreach ($recip in $email.Recipients) {
$recip
}

$email.To
$email.CC
}

END {
}
}

HandleRemaining

问题是 $recip 都没有也不是 $email.To返回 To 的电子邮件地址或 CC在该电子邮件中,我得到了该人的解析名称,例如:
Application           : Microsoft.Office.Interop.Outlook.ApplicationClass
Class : 4
Session : Microsoft.Office.Interop.Outlook.NameSpaceClass
Parent : System.__ComObject
Address : /o=ExchangeLabs/ou=Exchange Administrative Group (ALPHA-NUMERIC)/cn=Recipients/cn=LONG-ALPHANUMERIC-HERE
AddressEntry : System.__ComObject
AutoResponse :
DisplayType : 0
EntryID : <snip>
Index : 1
MeetingResponseStatus : 0
Name : John Walker
Resolved : True
TrackingStatus : 0
TrackingStatusTime : 01-Jan-01 00:00:00
Type : 1
PropertyAccessor : System.__ComObject
Sendable : True

John Walker

我更改了数字和代码以保护隐私,但这就是我得到的返回。 那么,如何获得给定电子邮件草稿收件人的正确电子邮件地址?

最佳答案

我认为您需要使用 PropertyAccessor。

$PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
$smtpAddress = $recip.PropertyAccessor.GetProperty($PR_SMTP_ADDRESS)

看这里(警告!VBA): https://msdn.microsoft.com/en-us/VBA/Outlook-VBA/articles/obtain-the-e-mail-address-of-a-recipient

关于powershell - 如何通过 PowerShell 从 Outlook 文件夹内的电子邮件中获取电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47264561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com