Microsoft Exchange Server är en populär plattform som tillhandahåller olika samarbetstjänster som e-post, kalendrar, kontakter, etc. I föregående inlägg har vi visat dig hur du läser e-postmeddelanden från Microsoft Exchange Server. Du kan dock också behöva arbeta med kontakterna på Exchange Server programmatiskt. I den här artikeln kommer du att lära dig hur du lägger till, tar bort eller uppdaterar kontakter på Microsoft Exchange Server i C# .NET.
- .NET API för åtkomst till kontakter på MS Exchange Server
- Lägg till kontakter till MS Exchange Server
- Ta bort kontakter från MS Exchange Server
- Uppdatera en kontakt på MS Exchange Server
C# .NET API för att komma åt kontakter på MS Exchange Server
För att arbeta med kontakter på Microsoft Exchange Server kommer vi att använda Aspose.Email for .NET. Det är ett välkänt API för att arbeta med olika e-postklienter inifrån .NET-applikationer. Du kan antingen ladda ner API:s DLL eller installera den från NuGet med följande kommando.
PM> Install-Package Aspose.Email
Lägg till kontakter till MS Exchange Server i C#
Följande är stegen för att lägga till kontakter till Microsoft Exchange Server i C#.
- Skapa och initialisera först NetworkCredential-objekt med användarnamn, lösenord och domän.
- Initiera sedan IEWSClient med postlåde-URI och NetworkCredential-objekt.
- Skapa ett objekt av klassen Kontakt och ställ in dess egenskaper som namn, jobb, kön, telefon, associerade personer, etc.
- Ring slutligen EWSClient.CreateContact(Contact) för att lägga till kontakt.
Följande kodexempel visar hur man lägger till en kontakt till Microsoft Exchange Server i 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);
// Skapa ny kontakt
Contact contact = new Contact();
// Ställ in allmän information
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// Lägg till telefonnummer
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// Kontaktens associerade personer
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 });
// webbadresser
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
// Ställ in kontaktens e-postadress
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);
}
Ta bort kontakter från MS Exchange Server i C#
Du kan också ta bort en kontakt från MS Exchange Server. För att filtrera kontakterna kan du använda namnet, e-postadressen eller någon annan lämplig egenskap. Följande är stegen för att ta bort en kontakt från Microsoft Exchange Server i C#.
- Initiera först objektet IEWSClient.
- Hämta sedan kontakter från MS Exchange Server med metoden IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Gå igenom kontakterna och filtrera den önskade.
- Ta slutligen bort en filtrerad kontakt med metoden IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
Följande kodexempel visar hur man tar bort kontakter från Microsoft Exchange Server i C#.
// Initiera EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// Skaffa kontakter
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Filtrera kontakter
foreach (Contact contact in contacts)
{
// Ta bort kontakt
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
Uppdatera en kontakt på Exchange Server i C#
Du kan också uppdatera en kontakt på MS Exchange Server med Aspose.Email för .NET. Följande är stegen för att utföra denna operation.
- Skapa och initialisera först NetworkCredential-objekt med användarnamn, lösenord och domän.
- Initiera sedan IEWSClient med postlåde-URI och NetworkCredential-objekt.
- Hämta kontakter från Exchange Server med metoden IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Efter det, gå igenom kontakterna och filtrera den önskade kontakten.
- Uppdatera slutligen kontaktens egenskaper och ring IEWSClient.UpdateContact(Contact) för att spara den.
Följande kodexempel visar hur man uppdaterar en kontakt på MS Exchange Server i 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);
// Initiera EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// Lista alla kontakter och gå igenom alla kontakter
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Välj önskad kontakt
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// Uppdatera kontakt
client.UpdateContact(contact);
Skaffa en gratis API-licens
Du kan få en gratis temporär licens för att använda Aspose.Email för .NET utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med kontakter på Microsoft Exchange Server i C#. Vi har visat hur man lägger till, tar bort och uppdaterar kontakter från MS Exchange Server programmatiskt i C#. Dessutom kan du utforska dokumentationen för att läsa mer om Aspose.Email för .NET. Du kan också ställa dina frågor via vårt forum.