VBA:如何获取当前Outlook用户的SMTP电子邮件地址列表?

时间:2018-08-02 15:21:52

标签: email outlook outlook-vba

我知道如何获取当前用户的主要电子邮件地址,但是如何获取其所有SMTP电子邮件地址的完整列表?

我正在寻找右键单击电子邮件中的收件人并转到“打开Outlook属性”并转到“电子邮件地址”标签的信息

谢谢!

2 个答案:

答案 0 :(得分:0)

使用PR_EMS_AB_PROXY_ADDRESSES读取http://schemas.microsoft.com/mapi/proptag/0x800F101F MAPI属性(DASL名称Namespace.CurrentUser.AddressEntry.PropertyAccessor.GetProperty)。

您可以在OutlookSpy中看到地址-单击IMAPISession按钮,单击QueryIdentity

答案 1 :(得分:0)

对于从未使用过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)