C#'ta Microsoft Exchange Server'dan Kişi Ekleme veya Silme

Microsoft Exchange Server, e-posta, takvimler, kişiler vb. gibi çeşitli işbirliği hizmetleri sağlayan popüler bir platformdur. Önceki gönderide, size Microsoft Exchange Server’dan gelen e-postaları nasıl okuyacağınızı gösterdik. Ancak, Exchange Server’daki kişilerle programlı olarak da çalışmanız gerekebilir. Bu makalede, C# .NET’te Microsoft Exchange Server’da kişileri nasıl ekleyeceğinizi, sileceğinizi veya güncelleyeceğinizi öğreneceksiniz.

MS Exchange Sunucusunda Kişilere Erişmek için C# .NET API

Microsoft Exchange Server’da kişilerle çalışmak için Aspose.Email for .NET kullanacağız. .NET uygulamalarından farklı e-posta istemcileriyle çalışmak için iyi bilinen bir API’dir. API’nin DLL’sini indirebilir veya aşağıdaki komutu kullanarak NuGet’ten yükleyebilirsiniz.

PM> Install-Package Aspose.Email

C# ile MS Exchange Sunucusuna Kişiler Ekleme

C# dilinde Microsoft Exchange Server’a kişi ekleme adımları aşağıdadır.

  • Öncelikle kullanıcı adı, parola ve etki alanı ile NetworkCredential nesnesini oluşturun ve başlatın.
  • Ardından, posta kutusu URI’si ve NetworkCredential nesnesi ile IEWSClient‘yı başlatın.
  • Contact sınıfından bir nesne oluşturun ve onun ad, iş, cinsiyet, telefon, ilişkili kişiler vb. gibi özelliklerini ayarlayın.
  • Son olarak, kişi eklemek için EWSClient.CreateContact(Contact) öğesini arayın.

Aşağıdaki kod örneği, C# dilinde Microsoft Exchange Server’a nasıl kişi ekleneceğini gösterir.

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

// Yeni kişi yarat
Contact contact = new Contact();

// Genel bilgileri ayarla
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";

// Telefon numaraları ekleyin
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });

// Kişinin ilişkili kişileri
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'ler
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
            
// Kişinin e-posta adresini ayarla
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);
}

C# ile MS Exchange Sunucusundan Kişileri Sil

Bir kişiyi MS Exchange Sunucusundan da silebilirsiniz. Kişileri filtrelemek için adı, e-postayı veya diğer uygun özellikleri kullanabilirsiniz. C# dilinde Microsoft Exchange Server’dan bir kişiyi silme adımları aşağıdadır.

Aşağıdaki kod örneği, C# dilinde Microsoft Exchange Server’dan kişilerin nasıl silineceğini gösterir.

// EWSClient'ı başlat
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

string strContactToDelete = "John Teddy";

// Kişileri al
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// Kişileri filtrele
foreach (Contact contact in contacts)
{
    // Kişiyi silmek
    if (contact.DisplayName.Equals(strContactToDelete))
        client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);

}
client.Dispose();

C# ile Exchange Sunucusunda Bir Kişiyi Güncelleyin

Aspose.Email for .NET’i kullanarak MS Exchange Server’daki bir kişiyi de güncelleyebilirsiniz. Bu işlemi gerçekleştirmek için adımlar aşağıdadır.

Aşağıdaki kod örneği, C# dilinde MS Exchange Sunucusunda bir kişinin nasıl güncelleneceğini gösterir.

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'ı başlat
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);

// Tüm kişileri listeleyin ve tüm kişiler arasında döngü yapın
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// İstediğiniz kişiyi seçin
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";

// Kişiyi güncelle
client.UpdateContact(contact);

Ücretsiz API Lisansı Alın

Aspose.Email for .NET’i değerlendirme sınırlamaları olmadan kullanmak için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu makalede, C# ile Microsoft Exchange Server’da kişilerle nasıl çalışılacağını öğrendiniz. C# dilinde programlı olarak MS Exchange Server’dan kişilerin nasıl ekleneceğini, kaldırılacağını ve güncelleneceğini gösterdik. Ayrıca, Aspose.Email for .NET hakkında daha fazlasını okumak için belgeleri inceleyebilirsiniz. Ayrıca, sorularınızı [forumumuz] aracılığıyla da sorabilirsiniz]18.

Ayrıca bakınız