首页 > 解决方案 > 检查当前用户是否是 Exchange 分发列表的成员 - Outlook C#

问题描述

我想知道当前 Outlook 用户是否是特定交换分发列表的成员。如果他是,那么他应该看到孩子的形式,如果他不是;然后他应该看到消息框。

我的以下代码正在工作,如果用户是 DistList 的成员,他会得到子表单,但如果他不是成员,我不知道如何检查显示他的消息框。

                string UserName = (string)application.ActiveExplorer().Session.CurrentUser.Name;
                string PersonalPublicFolder = "Public Folders - " + application.ActiveExplorer().Session.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress;
                Outlook.MAPIFolder contactsFolder = outlookNameSpace.Folders[PersonalPublicFolder].Folders["Favorites"];

                Outlook.DistListItem addressList = contactsFolder.Items["ContactGroup"];

                if (addressList.MemberCount != 0)
                {
                    for (int i = 1; i <= addressList.MemberCount; i++)
                    {
                        Outlook.Recipient recipient = addressList.GetMember(i);
                        string contact = recipient.Name;
                        if (contact == UserName)
                        {
                                var assignOwnership = new AssignOwnership();
                                assignOwnership.Show();
                        }
                    }
                }

任何帮助,将不胜感激。

谢谢你。

标签: outlookoutlook-addinoffice-addins

解决方案


使用Application.Session.CurrentUser.AddressEntry.GetExchangeUser().GetMemberOfList()- 它将返回AddressEntries包含用户所属的所有 DL 的对象。

准备好处理空值和错误。


推荐阅读