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