【问题标题】:VBA: how can I get a list of the SMTP email addresses for the current outlook user?VBA:如何获取当前 Outlook 用户的 SMTP 电子邮件地址列表?
【发布时间】:2022-04-20 13:20:14
【问题描述】:

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

我正在寻找当您右键单击电子邮件中的收件人并转到“打开 Outlook 属性”并转到“电子邮件地址”选项卡时可以获得的信息

谢谢!

【问题讨论】:

    标签: vba email outlook


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      使用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

      【讨论】:

        猜你喜欢
        • 2011-06-13
        • 2017-10-09
        • 2018-10-27
        • 1970-01-01
        • 2018-12-13
        • 2021-07-02
        • 1970-01-01
        • 1970-01-01
        • 2020-03-31
        相关资源
        最近更新 更多