Dodaj lub usuń kontakty z Microsoft Exchange Server w C#

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 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#.

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ę.

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.

Zobacz też