Microsoft Exchange Server je populární platforma, která poskytuje různé služby pro spolupráci, jako je e-mail, kalendáře, kontakty atd. V předchozím příspěvku jsme vám ukázali, jak číst e-maily ze serveru Microsoft Exchange Server. Můžete však také potřebovat pracovat s kontakty na Exchange Server programově. V tomto článku se dozvíte, jak přidat, odstranit nebo aktualizovat kontakty na Microsoft Exchange Server v C# .NET.
- .NET API pro přístup ke kontaktům na MS Exchange Server
- Přidejte kontakty na MS Exchange Server
- Odstraňte kontakty z MS Exchange Server
- Aktualizujte kontakt na MS Exchange Server
C# .NET API pro přístup ke kontaktům na MS Exchange Server
Pro práci s kontakty na Microsoft Exchange Server použijeme Aspose.Email for .NET. Je to dobře známé API pro práci s různými e-mailovými klienty z aplikací .NET. Můžete si stáhnout DLL API nebo ji nainstalovat z NuGet pomocí následujícího příkazu.
PM> Install-Package Aspose.Email
Přidat kontakty na MS Exchange Server v C#
Následují kroky pro přidání kontaktů na Microsoft Exchange Server v C#.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Vytvořte objekt třídy Kontakt a nastavte jeho vlastnosti, jako je jméno, zaměstnání, pohlaví, telefon, přidružené osoby atd.
- Nakonec zavolejte EWSClient.CreateContact(Contact) a přidejte kontakt.
Následující ukázka kódu ukazuje, jak přidat kontakt na Microsoft Exchange Server v 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);
// Vytvořte nový kontakt
Contact contact = new Contact();
// Nastavte obecné informace
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// Přidejte telefonní čísla
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// Přidružené osoby kontaktu
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 });
// Nastavte e-mailovou adresu 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);
}
Odstranit kontakty z MS Exchange Server v C#
Můžete také odstranit kontakt z MS Exchange Server. K filtrování kontaktů můžete použít jméno, e-mail nebo jinou vhodnou vlastnost. Následují kroky k odstranění kontaktu z Microsoft Exchange Server v C#.
- Nejprve inicializujte objekt IEWSClient.
- Poté získejte kontakty z MS Exchange Server pomocí metody IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Procházejte kontakty a filtrujte požadovaný.
- Nakonec odstraňte filtrovaný kontakt pomocí metody IEWSClient.DeleteItem(Contact.Id.EWSId, DeletionOptions.DeletePermanently).
Následující ukázka kódu ukazuje, jak odstranit kontakty z Microsoft Exchange Server v C#.
// Inicializujte EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// Získejte kontakty
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Filtrovat kontakty
foreach (Contact contact in contacts)
{
// Smazat kontakt
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
Aktualizace kontaktu na Exchange Server v C#
Můžete také aktualizovat kontakt na MS Exchange Server pomocí Aspose.Email for .NET. Následují kroky k provedení této operace.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Získejte kontakty ze serveru Exchange pomocí metody IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri).
- Poté procházejte kontakty a filtrujte požadovaný kontakt.
- Nakonec aktualizujte vlastnosti kontaktu a zavolejte IEWSClient.UpdateContact(Contact) pro uložení.
Následující ukázka kódu ukazuje, jak aktualizovat kontakt na MS Exchange Server v 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);
// Inicializujte EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// Seznam všech kontaktů a procházení všech kontaktů
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// Vyberte požadovaný kontakt
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// Aktualizujte kontakt
client.UpdateContact(contact);
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání Aspose.Email pro .NET bez omezení hodnocení.
Závěr
V tomto článku jste se naučili pracovat s kontakty na Microsoft Exchange Server v C#. Ukázali jsme, jak přidávat, odebírat a aktualizovat kontakty z MS Exchange Server programově v C#. Kromě toho můžete prozkoumat dokumentaci a přečíst si více o Aspose.Email pro .NET. Také se můžete ptát na naše fórum.