Kontakte von Microsoft Exchange Server in C# hinzufügen oder löschen

Microsoft Exchange Server ist eine beliebte Plattform, die verschiedene Dienste für die Zusammenarbeit wie E-Mail, Kalender, Kontakte usw. bereitstellt. Im vorherigen Post haben wir Ihnen gezeigt, wie Sie E-Mails von Microsoft Exchange Server lesen können. Möglicherweise müssen Sie jedoch auch programmgesteuert mit den Kontakten auf dem Exchange-Server arbeiten. In diesem Artikel erfahren Sie, wie Sie Kontakte auf Microsoft Exchange Server in C# .NET hinzufügen, löschen oder aktualisieren.

C# .NET API für den Zugriff auf Kontakte auf MS Exchange Server

Um mit Kontakten auf Microsoft Exchange Server zu arbeiten, verwenden wir Aspose.Email for .NET. Es ist eine bekannte API, um mit verschiedenen E-Mail-Clients aus .NET-Anwendungen heraus zu arbeiten. Sie können die DLL der API entweder herunterladen oder sie mit dem folgenden Befehl von NuGet installieren.

PM> Install-Package Aspose.Email

Kontakte zu MS Exchange Server in C# hinzufügen

Im Folgenden sind die Schritte zum Hinzufügen von Kontakten zu Microsoft Exchange Server in C# aufgeführt.

  • Erstellen und initialisieren Sie zuerst das Objekt NetworkCredential mit Benutzername, Passwort und Domäne.
  • Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
  • Erstellen Sie ein Objekt der Klasse Kontakt und legen Sie seine Eigenschaften wie Name, Job, Geschlecht, Telefon, zugeordnete Personen usw. fest.
  • Rufen Sie schließlich EWSClient.CreateContact(Contact) auf, um einen Kontakt hinzuzufügen.

Das folgende Codebeispiel zeigt, wie Sie einen Kontakt zu Microsoft Exchange Server in C# hinzufügen.

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);

// Neuen Kontakt erstellen
Contact contact = new Contact();

// Allgemeine Informationen festlegen
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";

// Telefonnummern hinzufügen
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });

// Zugehörige Personen des Kontakts
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 });

// URLs
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
            
// Legen Sie die E-Mail-Adresse des Kontakts fest
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);
}

Löschen Sie Kontakte von MS Exchange Server in C#

Sie können einen Kontakt auch vom MS Exchange Server löschen. Um die Kontakte zu filtern, können Sie den Namen, die E-Mail-Adresse oder eine andere geeignete Eigenschaft verwenden. Im Folgenden sind die Schritte zum Löschen eines Kontakts von Microsoft Exchange Server in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Kontakte aus Microsoft Exchange Server in C# gelöscht werden.

// EWSClient initialisieren
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

string strContactToDelete = "John Teddy";

// Kontakte erhalten
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// Kontakte filtern
foreach (Contact contact in contacts)
{
    // Kontakt löschen
    if (contact.DisplayName.Equals(strContactToDelete))
        client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);

}
client.Dispose();

Aktualisieren Sie einen Kontakt auf dem Exchange Server in C#

Sie können auch einen Kontakt auf MS Exchange Server mit Aspose.Email für .NET aktualisieren. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie einen Kontakt auf MS Exchange Server in C# aktualisieren.

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 initialisieren
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);

// Listen Sie alle Kontakte auf und durchlaufen Sie alle Kontakte
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// Gewünschten Kontakt auswählen
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";

// Kontakt aktualisieren
client.UpdateContact(contact);

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Email für .NET ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Kontakten auf Microsoft Exchange Server in C# arbeiten. Wir haben gezeigt, wie Kontakte vom MS Exchange Server programmgesteuert in C# hinzugefügt, entfernt und aktualisiert werden. Außerdem können Sie die Dokumentation durchsuchen, um mehr über Aspose.Email für .NET zu erfahren. Sie können Ihre Fragen auch über unser Forum stellen.

Siehe auch