如何使用VSTO从Outlook中的通讯组列表获取电子邮件地址

时间:2019-01-07 22:26:20

标签: c# .net outlook vsto outlook-addin

我已编写此代码摘录,以在单击电子邮件发送按钮时从to,cc和bcc行中获取用户的电子邮件地址。

if (Item is Outlook.MailItem)
        {      
            Outlook.MailItem mailItem = Item as Outlook.MailItem;
            Outlook.Recipients myRecipients = mailItem.Recipients;
            foreach (Outlook.Recipient recipient in myRecipients)
            {  
                addresses.Add(recipient.Address);
            }
        }

代码完成了我需要做的事情。但是,如果用户在to,cc或bcc行中输入了通讯组列表,则我的程序无法从通讯组列表中读取电子邮件地址。我正在寻找一种从通讯组列表中读取电子邮件地址或扩展通讯组列表的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以为每个ResolveAll()调用RecipientsResovle()的{​​{1}}方法。 解析所有地址后,通过Recipient获得ExchangeDistributionList对象,该对象提供方法GetExchangeDistributionList(),该方法依次返回GetMemberOfList()对象。

相关问题