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.
- .NET-API für den Zugriff auf Kontakte auf MS Exchange Server
- Kontakte zu MS Exchange Server hinzufügen
- Kontakte von MS Exchange Server löschen
- Aktualisieren Sie einen Kontakt auf dem MS Exchange Server
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.
- Initialisieren Sie zunächst das Objekt IEWSClient.
- Rufen Sie dann mit der Methode IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri) Kontakte von MS Exchange Server ab.
- Schleifen Sie die Kontakte durch und filtern Sie den gewünschten heraus.
- Löschen Sie schließlich einen gefilterten Kontakt mit der Methode IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
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.
- Erstellen und initialisieren Sie zuerst das Objekt NetworkCredential mit Benutzername, Passwort und Domäne.
- Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
- Rufen Sie Kontakte von Exchange Server mit der Methode IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri) ab.
- Danach die Kontakte durchschleifen und den gewünschten Kontakt filtern.
- Aktualisieren Sie abschließend die Eigenschaften des Kontakts und rufen Sie IEWSClient.UpdateContact(Contact) auf, um ihn zu speichern.
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.