如何获取当前Outlook存储的SMTP地址 [英] How to get smtp address of current Outlook store

查看:14
本文介绍了如何获取当前Outlook存储的SMTP地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在Outlook中有3-4个共享电子邮件地址的用户。 我正在开发插件,它将提取选定商店的电子邮件地址,并将从人们那里获得它的联系人文件夹。

我的问题是我不知道如何获取SelectedStore的电子邮件地址。 以下是我的代码。

            string recipientName = SelectedStore.EmailAddress; // This is what I want to make it work

            Outlook.Recipient recip = ns.CreateRecipient(recipientName);
            recip.Resolve();

            if (recip.Resolved)
            {
                Outlook.MAPIFolder folderContacts = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderContacts);
            }

如有任何帮助,将不胜感激。

谢谢。

推荐答案

对于邮箱所有者,您可以尝试读取MAPIFolder.Store属性以访问父存储,然后使用Store.PropertyAccessor.GetProperty读取PR_MAILBOX_OWNER_ENTRYID属性(DASL名称"http://schemas.microsoft.com/mapi/proptag/0x661B0102")。然后,您可以使用商店所有者条目ID来调用Namespace.GetAddressEntryFromID。一旦拥有AddressEntry对象,就可以使用AddressEntry.GetExchangeUser.PrimarySmtpAddress

请注意,PR_MAILBOX_OWNER_ENTRYID属性仅在在线商店中可用。您可能希望使用Redemption及其RDOExchangeMailboxStore.Owner.SmtpAddress属性。RDOExchangeMailboxStore可以使用RDOSession.GetRDOObjectfromOutlookObject(Store)RDOSession.GetStoreFromID检索。

您还可以尝试检索商店条目id并对其进行解析-其格式已记录在案,并且您可以提取所有者的ex类型地址。然后,您可以构造GAL条目ID以打开AddressEntry对象。从那里,您可以检索SMTP地址。

这篇关于如何获取当前Outlook存储的SMTP地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆