【发布时间】:2022-04-20 13:20:14
【问题描述】:
我知道如何获取当前用户的主要电子邮件地址,但如何获取他们所有 SMTP 电子邮件地址的完整列表?
我正在寻找当您右键单击电子邮件中的收件人并转到“打开 Outlook 属性”并转到“电子邮件地址”选项卡时可以获得的信息
谢谢!
【问题讨论】:
我知道如何获取当前用户的主要电子邮件地址,但如何获取他们所有 SMTP 电子邮件地址的完整列表?
我正在寻找当您右键单击电子邮件中的收件人并转到“打开 Outlook 属性”并转到“电子邮件地址”选项卡时可以获得的信息
谢谢!
【问题讨论】:
对于那些从未使用过 getProperty 的人来说,代码如下所示 -
Const PR_EMS_AB_PROXY_ADDRESSES As String = _
"http://schemas.microsoft.com/mapi/proptag/0x800F101F"
Dim NS As Outlook.NameSpace
Set NS = Application.GetNamespace("MAPI")
addresses = _
NS.CurrentUser.AddressEntry.PropertyAccessor.GetProperty(PR_EMS_AB_PROXY_ADDRESSES)
【讨论】:
使用Namespace.CurrentUser.AddressEntry.PropertyAccessor.GetProperty 读取PR_EMS_AB_PROXY_ADDRESSES MAPI 属性(DASL 名称http://schemas.microsoft.com/mapi/proptag/0x800F101F)。
每个地址都会以地址类型作为前缀(例如“EX:”或“smtp:”)。默认 SMTP 地址将以“SMTP:”为前缀(全部大写)。
您可以在OutlookSpy 中看到该属性(我是它的作者) - 单击 IMAPISession 按钮,然后单击 QueryIdentity
【讨论】: