VSTO获取邮件联系人邮箱

C# VSTO获取邮件联系人邮箱,包括获取To,CC等
直接从mailItem.Recipients取得所有这封邮件的联系人,然后在根据Type来判断是属于哪个的。

public enum OlMailRecipientType
    {
        olOriginator = 0,
        olTo = 1,
        olCC = 2,
        olBCC = 3,
    }

举例,取得CC的联系人邮箱:

public static List<string> GetCCAddress(Microsoft.Office.Interop.Outlook.MailItem mailItem)
        {
            List<string> addressList = new List<string>();

            Outlook.Recipients recipients = mailItem.Recipients;

            foreach (Outlook.Recipient recipient in recipients)
            {
                if (recipient.Type != 2)//OlMailRecipientType.olCC=2
                {
                    continue;
                }
                if (recipient.Address != null)
                {
                    string addType = recipient.AddressEntry.Type;
                    if ("SMTP".Equals(addType))
                    {
                        addressList.Add(recipient.Address);
                    }
                    else if ("EX".Equals(addType))
                    {
                        addressList.AddRange(GetEmailAddressForExchangeServer(mailItem.Application, recipient.Name));
                    }
                }
            }

            return addressList;
        }

参考网址: http://msdn.microsoft.com/en-us/library/aa210995%28v=office.11%29.aspx http://msdn.microsoft.com/en-us/library/aa219371%28v=office.11%29.aspx

updatedupdated2023-12-062023-12-06