Microsoft Exchange Server là một nền tảng phổ biến cung cấp các dịch vụ cộng tác khác nhau như email, lịch, danh bạ, v.v. Trong bài trước, chúng tôi đã hướng dẫn bạn cách đọc email từ Microsoft Exchange Server. Tuy nhiên, bạn cũng có thể cần phải làm việc với các liên hệ trên Exchange Server theo chương trình. Trong bài viết này, bạn sẽ tìm hiểu cách thêm, xóa hoặc cập nhật danh bạ trên Microsoft Exchange Server trong C# .NET.
- .NET API để truy cập Danh bạ trên Máy chủ MS Exchange
- Thêm liên hệ vào máy chủ MS Exchange
- Xóa liên hệ khỏi MS Exchange Server
- Cập nhật Liên hệ trên Máy chủ MS Exchange
C# .NET API để truy cập Danh bạ trên Máy chủ MS Exchange
Để làm việc với các liên hệ trên Microsoft Exchange Server, chúng tôi sẽ sử dụng Aspose.Email for .NET. Đây là một API nổi tiếng để làm việc với các ứng dụng email khác nhau từ bên trong các ứng dụng .NET. Bạn có thể tải xuống DLL của API hoặc cài đặt nó từ NuGet bằng lệnh sau.
PM> Install-Package Aspose.Email
Thêm Liên hệ vào Máy chủ MS Exchange trong C#
Sau đây là các bước để thêm liên hệ vào Microsoft Exchange Server trong C#.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Tạo một đối tượng của lớp Liên hệ và đặt các thuộc tính của nó như tên, công việc, giới tính, điện thoại, người có liên quan, v.v.
- Cuối cùng, gọi EWSClient.CreateContact (Liên hệ) để thêm liên hệ.
Mẫu mã sau đây cho biết cách thêm liên hệ vào Microsoft Exchange Server trong C#.
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);
// Tạo liên hệ mới
Contact contact = new Contact();
// Đặt thông tin chung
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// Thêm số điện thoại
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// Người liên hệ của liên hệ
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 });
// URL
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
// Đặt địa chỉ email của người liên hệ
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);
}
Xóa Liên hệ khỏi Máy chủ MS Exchange trong C#
Bạn cũng có thể xóa một số liên lạc khỏi MS Exchange Server. Để lọc địa chỉ liên hệ, bạn có thể sử dụng tên, email hoặc bất kỳ thuộc tính phù hợp nào khác. Sau đây là các bước để xóa một liên hệ khỏi Microsoft Exchange Server trong C#.
- Đầu tiên, khởi tạo đối tượng IEWSClient.
- Sau đó, lấy danh bạ từ Máy chủ MS Exchange bằng phương pháp IEWSClient.GetContacts (EWSClient.MailboxInfo.ContactsUri).
- Lặp qua danh bạ và lọc danh bạ được yêu cầu.
- Cuối cùng, xóa địa chỉ liên hệ đã lọc bằng phương pháp IEWSClient.DeleteItem (Contact.Id.EWSId, DeletionOptions.DeletePermanently).
Mẫu mã sau đây cho thấy cách xóa địa chỉ liên hệ khỏi Microsoft Exchange Server trong C#.
// Khởi tạo EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// Nhận địa chỉ liên hệ
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Lọc danh bạ
foreach (Contact contact in contacts)
{
// Xóa liên lạc
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
Cập nhật Liên hệ trên Máy chủ Exchange trong C#
Bạn cũng có thể cập nhật một số liên lạc trên MS Exchange Server bằng Aspose.Email for .NET. Sau đây là các bước để thực hiện thao tác này.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Nhận liên hệ từ Máy chủ Exchange bằng phương pháp IEWSClient.GetContacts (EWSClient.MailboxInfo.ContactsUri).
- Sau đó, lặp qua danh bạ và lọc danh bạ mong muốn.
- Cuối cùng, cập nhật các thuộc tính của liên hệ và gọi IEWSClient.UpdateContact (Liên hệ) để lưu nó.
Mẫu mã sau đây cho thấy cách cập nhật liên hệ trên MS Exchange Server trong C#.
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);
// Khởi tạo EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// Liệt kê tất cả các địa chỉ liên hệ và lặp qua tất cả các địa chỉ liên hệ
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Chọn liên hệ mong muốn
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// Cập nhật liên hệ
client.UpdateContact(contact);
Nhận giấy phép API miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Email for .NET mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách làm việc với các liên hệ trên Microsoft Exchange Server trong C#. Chúng tôi đã trình bày cách thêm, xóa và cập nhật danh bạ từ Máy chủ MS Exchange theo chương trình trong C#. Ngoài ra, bạn có thể khám phá tài liệu để đọc thêm về Aspose.Email for .NET. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.