Microsoft Exchange Server to popularna platforma, która zapewnia różne usługi współpracy, takie jak poczta e-mail, kalendarze, kontakty itp. W poprzednim poście pokazaliśmy, jak czytać wiadomości e-mail z Microsoft Exchange Server. Jednak może być również konieczna programowa praca z kontaktami na serwerze Exchange. W tym artykule dowiesz się, jak dodawać, usuwać lub aktualizować kontakty na serwerze Microsoft Exchange w języku C# .NET.
- Interfejs API platformy .NET umożliwiający dostęp do kontaktów na serwerze MS Exchange
- Dodaj kontakty do serwera MS Exchange
- Usuń kontakty z serwera MS Exchange
- Zaktualizuj kontakt na MS Exchange Server
Interfejs API platformy C# .NET umożliwiający dostęp do kontaktów na serwerze MS Exchange
Do pracy z kontaktami na Microsoft Exchange Server użyjemy Aspose.Email for .NET. Jest to dobrze znany interfejs API do pracy z różnymi klientami poczty e-mail z poziomu aplikacji .NET. Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją z NuGet za pomocą następującego polecenia.
PM> Install-Package Aspose.Email
Dodaj kontakty do MS Exchange Server w C#
Poniżej przedstawiono kroki dodawania kontaktów do programu Microsoft Exchange Server w języku C#.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Tworzymy obiekt klasy Kontakt i ustawiamy jego właściwości takie jak imię i nazwisko, zawód, płeć, telefon, osoby powiązane itp.
- Na koniec wywołaj EWSClient.CreateContact(Contact), aby dodać kontakt.
Poniższy przykładowy kod pokazuje, jak dodać kontakt do programu Microsoft Exchange Server w języku 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);
// Utwórz nowy kontakt
Contact contact = new Contact();
// Ustaw informacje ogólne
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// Dodaj numery telefonów
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// Osoby powiązane z kontaktem
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 });
// adresy 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 });
// Ustaw adres e-mail kontaktu
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);
}
Usuń kontakty z serwera MS Exchange w C#
Możesz także usunąć kontakt z serwera MS Exchange. Aby filtrować kontakty, możesz użyć nazwy, adresu e-mail lub dowolnej innej odpowiedniej właściwości. Poniżej przedstawiono kroki, aby usunąć kontakt z programu Microsoft Exchange Server w języku C#.
- Najpierw zainicjuj obiekt IEWSClient.
- Następnie pobierz kontakty z MS Exchange Server za pomocą metody IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Przejrzyj kontakty i przefiltruj wymagany.
- Na koniec usuń filtrowany kontakt za pomocą metody IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
Poniższy przykładowy kod pokazuje, jak usunąć kontakty z programu Microsoft Exchange Server w języku C#.
// Zainicjuj EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// Zdobądź kontakty
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Filtruj kontakty
foreach (Contact contact in contacts)
{
// Usuń kontakt
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
Zaktualizuj kontakt na serwerze Exchange w języku C#
Możesz także zaktualizować kontakt na MS Exchange Server za pomocą Aspose.Email for .NET. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Pobierz kontakty z Exchange Server za pomocą metody IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Następnie przejrzyj kontakty i przefiltruj żądany kontakt.
- Na koniec zaktualizuj właściwości kontaktu i wywołaj IEWSClient.UpdateContact(Contact), aby go zapisać.
Poniższy przykładowy kod pokazuje, jak zaktualizować kontakt na serwerze MS Exchange Server w języku 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);
// Zainicjuj EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// Wyświetl listę wszystkich kontaktów i przejrzyj wszystkie kontakty
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Wybierz żądany kontakt
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// Zaktualizuj kontakt
client.UpdateContact(contact);
Uzyskaj bezpłatną licencję API
Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się pracować z kontaktami na serwerze Microsoft Exchange w języku C#. Pokazaliśmy, jak programowo dodawać, usuwać i aktualizować kontakty z serwera MS Exchange Server w języku C#. Poza tym możesz przejrzeć dokumentację, aby dowiedzieć się więcej o Aspose.Email for .NET. Możesz także zadawać pytania za pośrednictwem naszego forum.