Microsoft Exchange Server 是一個流行的平台,提供電子郵件、日曆、聯繫人等各種協作服務。在上一篇文章 中,我們向您展示瞭如何從 Microsoft Exchange Server 讀取電子郵件。但是,您可能還需要以編程方式處理 Exchange Server 上的聯繫人。在本文中,您將了解如何使用 C# .NET 在 Microsoft Exchange Server 上添加、刪除或更新聯繫人。
- .NET API 訪問 MS Exchange 服務器上的聯繫人
- 將聯繫人添加到 MS Exchange 服務器
- 從 MS Exchange Server 中刪除聯繫人
- 更新 MS Exchange 服務器上的聯繫人
用於訪問 MS Exchange 服務器上的聯繫人的 C# .NET API
要處理 Microsoft Exchange Server 上的聯繫人,我們將使用 Aspose.Email for .NET。它是一個眾所周知的 API,可以在 .NET 應用程序中與不同的電子郵件客戶端一起工作。您可以 下載 API 的 DLL 或使用以下命令從 NuGet 安裝它。
PM> Install-Package Aspose.Email
在 C# 中將聯繫人添加到 MS Exchange Server
以下是使用 C# 將聯繫人添加到 Microsoft Exchange Server 的步驟。
- 首先,使用用戶名、密碼和域創建並初始化 NetworkCredential 對象。
- 然後,用郵箱 URI 和 NetworkCredential 對像初始化 IEWSClient。
- 創建一個Contact類的對象,並設置其屬性,如姓名、工作、性別、電話、關聯人員等。
- 最後,調用 EWSClient.CreateContact(Contact) 添加聯繫人。
以下代碼示例顯示如何使用 C# 將聯繫人添加到 Microsoft Exchange Server。
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// 創建新聯繫人
Contact contact = new Contact();
// 設置一般信息
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// 添加電話號碼
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// 聯繫人的相關人員
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Catherine", Category = AssociatedPersonCategory.Spouse });
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Bob", Category = AssociatedPersonCategory.Child });
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Merry", Category = AssociatedPersonCategory.Sister });
// 網址
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
// 設置聯繫人的電子郵件地址
contact.EmailAddresses.Add(new EmailAddress { Address = "Frank.Lin@Abc.com", DisplayName = "Frank Lin", Category = EmailAddressCategory.Email1 });
try
{
client.CreateContact(contact);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
在 C# 中從 MS Exchange 服務器刪除聯繫人
您還可以從 MS Exchange Server 中刪除聯繫人。要過濾聯繫人,您可以使用姓名、電子郵件或任何其他合適的屬性。以下是使用 C# 從 Microsoft Exchange Server 中刪除聯繫人的步驟。
- 首先,初始化 IEWSClient 對象。
- 然後,使用 IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri) 方法從 MS Exchange Server 獲取聯繫人。
- 遍歷聯繫人並過濾所需的聯繫人。
- 最後,使用 IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently) 方法刪除已過濾的聯繫人。
以下代碼示例顯示如何使用 C# 從 Microsoft Exchange Server 中刪除聯繫人。
// 初始化 EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// 獲取聯繫人
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// 篩選聯繫人
foreach (Contact contact in contacts)
{
// 刪除聯繫人
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
在 C# 中更新 Exchange 服務器上的聯繫人
您還可以使用 Aspose.Email for .NET 更新 MS Exchange Server 上的聯繫人。以下是執行此操作的步驟。
- 首先,使用用戶名、密碼和域創建並初始化 NetworkCredential 對象。
- 然後,用郵箱 URI 和 NetworkCredential 對像初始化 IEWSClient。
- 使用 IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri) 方法從 Exchange Server 獲取聯繫人。
- 之後,遍歷聯繫人並過濾所需的聯繫人。
- 最後,更新聯繫人的屬性並調用 IEWSClient.UpdateContact(Contact) 進行保存。
以下代碼示例顯示瞭如何使用 C# 更新 MS Exchange Server 上的聯繫人。
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// 初始化 EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// 列出所有聯繫人並遍歷所有聯繫人
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// 選擇所需聯繫人
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// 更新聯繫人
client.UpdateContact(contact);
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以在沒有評估限制的情況下使用 Aspose.Email for .NET。
結論
在本文中,您了解瞭如何使用 C# 在 Microsoft Exchange Server 上處理聯繫人。我們已經演示瞭如何在 C# 中以編程方式從 MS Exchange Server 添加、刪除和更新聯繫人。此外,您可以瀏覽 文檔 以閱讀有關 Aspose.Email for .NET 的更多信息。此外,您可以通過我們的 論壇 提問。