static void Main(string[] args) { OutlookUtil outlookUtil = OutlookUtil.GetInstance(); List<UserAddressBook> testList = new List<UserAddressBook>(); UserAddressBook test1 = new UserAddressBook() { UserName = "******", Department = "测试部门1", Email = "*****@*****.**", Mobile = "13800000001", SubPhone = "001" }; UserAddressBook test2 = new UserAddressBook() { UserName = "******", Department = "测试部门2", Email = "*****@*****.**", Mobile = "13800000002", SubPhone = "002" }; testList.Add(test1); testList.Add(test2); Console.WriteLine("将测试数据写入 Outlook 地址簿!"); outlookUtil.WriteAddressBookList(testList); Console.WriteLine("从 Outlook 地址簿读取数据!"); List<UserAddressBook> newList = outlookUtil.ReadAddressBookList(); Console.WriteLine("向前面获取的 用户信息,发送电子邮件!"); outlookUtil.SendMailToUserList(newList); Console.WriteLine("处理完毕,按回车键退出!"); Console.ReadLine(); }
/// <summary> /// 获取 Outlook 地址簿列表. /// </summary> /// <returns></returns> public List<UserAddressBook> ReadAddressBookList() { List<UserAddressBook> resultList = new List<UserAddressBook>(); Outlook.NameSpace mynamespace = outlookApp.GetNamespace("MAPI"); Outlook.MAPIFolder myFolder = mynamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts); int iMailCount = myFolder.Items.Count; for (int k = 1; k <= iMailCount; k++) { Outlook.ContactItem item = (Outlook.ContactItem)myFolder.Items[k]; UserAddressBook result = new UserAddressBook(); // 姓名. result.UserName = item.LastName; // 邮件地址. result.Email = item.Email1Address; // 号码. result.Mobile = item.MobileTelephoneNumber; // 部门. result.Department = item.Department; // 加入列表. resultList.Add(result); } return resultList; }