Microsoft Exchange Server – це популярна платформа, яка надає різноманітні сервіси для співпраці, наприклад електронну пошту, календарі, контакти тощо. У попередній публікації ми показали вам, як читати електронні листи з Microsoft Exchange Server. Однак вам також може знадобитися працювати з контактами на сервері Exchange Server програмно. У цій статті ви дізнаєтеся, як додавати, видаляти або оновлювати контакти на Microsoft Exchange Server у C# .NET.
- .NET API для доступу до контактів на сервері MS Exchange
- Додайте контакти на сервер MS Exchange
- Видалити контакти з MS Exchange Server
- Оновіть контакт на сервері MS Exchange
C# .NET API для доступу до контактів на сервері MS Exchange
Для роботи з контактами на Microsoft Exchange Server ми будемо використовувати Aspose.Email for .NET. Це добре відомий API для роботи з різними клієнтами електронної пошти з програм .NET. Ви можете завантажити DLL API або встановити його з NuGet за допомогою наступної команди.
PM> Install-Package Aspose.Email
Додайте контакти на сервер MS Exchange у C#
Нижче наведено кроки для додавання контактів до Microsoft Exchange Server у C#.
- Спочатку створіть та ініціалізуйте об’єкт NetworkCredential з іменем користувача, паролем і доменом.
- Потім ініціалізуйте IEWSClient за допомогою URI поштової скриньки та об’єкта NetworkCredential.
- Створіть об’єкт класу Контакт і встановіть його властивості, такі як ім’я, робота, стать, телефон, пов’язані особи тощо.
- Нарешті, викличте EWSClient.CreateContact(Contact), щоб додати контакт.
У наведеному нижче прикладі коду показано, як додати контакт до Microsoft Exchange Server у 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);
// Створити новий контакт
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 });
// 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 });
// Встановіть електронну адресу контакту
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);
}
Видалення контактів із сервера MS Exchange у C#
Ви також можете видалити контакт із сервера MS Exchange. Щоб відфільтрувати контакти, ви можете використовувати ім’я, електронну пошту або будь-яку іншу відповідну властивість. Нижче наведено кроки для видалення контакту з Microsoft Exchange Server у C#.
- Спочатку ініціалізуйте об’єкт IEWSClient.
- Потім отримайте контакти з MS Exchange Server за допомогою методу IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Перегляньте контакти та відфільтруйте потрібний.
- Нарешті видаліть відфільтрований контакт за допомогою методу IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
У наведеному нижче прикладі коду показано, як видалити контакти з Microsoft Exchange Server у C#.
// Ініціалізація 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();
Оновіть контакт на сервері Exchange у C#
Ви також можете оновити контакт на MS Exchange Server за допомогою Aspose.Email for .NET. Нижче наведено кроки для виконання цієї операції.
- Спочатку створіть та ініціалізуйте об’єкт NetworkCredential з іменем користувача, паролем і доменом.
- Потім ініціалізуйте IEWSClient за допомогою URI поштової скриньки та об’єкта NetworkCredential.
- Отримайте контакти з Exchange Server за допомогою методу IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Після цього прокрутіть контакти та відфільтруйте потрібний контакт.
- Нарешті, оновіть властивості контакту та викличте IEWSClient.UpdateContact(Contact), щоб зберегти його.
У наведеному нижче прикладі коду показано, як оновити контакт на сервері MS Exchange у 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);
// Ініціалізація 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 без обмежень оцінювання.
Висновок
У цій статті ви дізналися, як працювати з контактами на Microsoft Exchange Server у C#. Ми продемонстрували, як програмно додавати, видаляти та оновлювати контакти з MS Exchange Server на C#. Крім того, ви можете переглянути документацію, щоб дізнатися більше про Aspose.Email for .NET. Ви також можете поставити свої запитання через наш форум.