首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取当前Outlook存储的smtp地址

如何获取当前Outlook存储的smtp地址
EN

Stack Overflow用户
提问于 2019-09-20 18:02:51
回答 2查看 193关注 0票数 0

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

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

代码语言:javascript
复制
            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);
            }

任何帮助都将不胜感激。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2019-09-20 23:29:42

对于邮箱所有者,您可以尝试读取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属性。可以使用RDOSession.GetRDOObjectfromOutlookObject(Store)或RDOSession.GetStoreFromID检索RDOExchangeMailboxStore。

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

票数 1
EN

Stack Overflow用户

发布于 2019-09-20 21:31:35

只是想让你知道,我找到了解决方案。

Outlook.MAPIFolder folderContacts = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);

应该能行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58026144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档