Microsoft Exchange Server è una piattaforma popolare che fornisce vari servizi di collaborazione come e-mail, calendari, contatti, ecc. Nel post precedente, ti abbiamo mostrato come leggere le e-mail da Microsoft Exchange Server. Tuttavia, potrebbe anche essere necessario lavorare con i contatti su Exchange Server a livello di codice. In questo articolo imparerai come aggiungere, eliminare o aggiornare i contatti su Microsoft Exchange Server in C# .NET.
- API .NET per accedere ai contatti su MS Exchange Server
- Aggiungi contatti a MS Exchange Server
- Elimina i contatti da MS Exchange Server
- Aggiorna un contatto su MS Exchange Server
API C# .NET per accedere ai contatti su MS Exchange Server
Per lavorare con i contatti su Microsoft Exchange Server, utilizzeremo Aspose.Email for .NET. È un’API ben nota per funzionare con diversi client di posta elettronica dall’interno delle applicazioni .NET. Puoi scaricare la DLL dell’API o installarla da NuGet usando il comando seguente.
PM> Install-Package Aspose.Email
Aggiungi contatti a MS Exchange Server in C#
Di seguito sono riportati i passaggi per aggiungere contatti a Microsoft Exchange Server in C#.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializza IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Crea un oggetto della classe Contact e imposta le sue proprietà come nome, lavoro, sesso, telefono, persone associate, ecc.
- Infine, chiama EWSClient.CreateContact(Contact) per aggiungere il contatto.
Nell’esempio di codice seguente viene illustrato come aggiungere un contatto a Microsoft Exchange Server in 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);
// Crea nuovo contatto
Contact contact = new Contact();
// Imposta informazioni generali
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// Aggiungi numeri di telefono
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// Persone associate del contatto
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 });
// 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 });
// Imposta l'indirizzo email del contatto
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);
}
Elimina i contatti da MS Exchange Server in C#
È inoltre possibile eliminare un contatto da MS Exchange Server. Per filtrare i contatti, puoi utilizzare il nome, l’e-mail o qualsiasi altra proprietà adatta. Di seguito sono riportati i passaggi per eliminare un contatto da Microsoft Exchange Server in C#.
- Innanzitutto, inizializza l’oggetto IEWSClient.
- Quindi, ottenere i contatti da MS Exchange Server utilizzando il metodo IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Passa attraverso i contatti e filtra quello richiesto.
- Infine, elimina un contatto filtrato utilizzando il metodo IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
Nell’esempio di codice seguente viene illustrato come eliminare i contatti da Microsoft Exchange Server in C#.
// Inizializza EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// Ottieni contatti
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Filtra i contatti
foreach (Contact contact in contacts)
{
// Elimina contatto
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
Aggiorna un contatto su Exchange Server in C#
È inoltre possibile aggiornare un contatto su MS Exchange Server utilizzando Aspose.Email per .NET. Di seguito sono riportati i passaggi per eseguire questa operazione.
- Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
- Quindi, inizializzare IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
- Ottieni contatti da Exchange Server utilizzando il metodo IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Successivamente, scorrere i contatti e filtrare il contatto desiderato.
- Infine, aggiorna le proprietà del contatto e chiama IEWSClient.UpdateContact(Contact) per salvarlo.
Nell’esempio di codice seguente viene illustrato come aggiornare un contatto in MS Exchange Server in 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);
// Inizializza EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// Elenca tutti i contatti e Scorri tutti i contatti
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Seleziona il contatto desiderato
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// Aggiorna contatto
client.UpdateContact(contact);
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per .NET senza limitazioni di valutazione.
Conclusione
In questo articolo hai imparato a lavorare con i contatti su Microsoft Exchange Server in C#. Abbiamo dimostrato come aggiungere, rimuovere e aggiornare i contatti da MS Exchange Server a livello di codice in C#. Inoltre, puoi esplorare la documentazione per saperne di più su Aspose.Email per .NET. Inoltre, puoi porre le tue domande tramite il nostro forum.