إضافة أو حذف جهات الاتصال من Microsoft Exchange Server في C#

Microsoft Exchange Server عبارة عن منصة شائعة توفر خدمات تعاون متنوعة مثل البريد الإلكتروني والتقويمات وجهات الاتصال وما إلى ذلك. في المنشور السابق ، أوضحنا لك كيفية قراءة رسائل البريد الإلكتروني من Microsoft Exchange Server. ومع ذلك ، قد تحتاج أيضًا إلى العمل مع جهات الاتصال على Exchange Server برمجيًا. في هذه المقالة ، ستتعلم كيفية إضافة جهات اتصال أو حذفها أو تحديثها على Microsoft Exchange Server في C# .NET.

C# .NET API للوصول إلى جهات الاتصال على خادم MS Exchange

للعمل مع جهات الاتصال على Microsoft Exchange Server ، سنستخدم Aspose.Email for .NET. إنها واجهة برمجة تطبيقات معروفة للعمل مع عملاء بريد إلكتروني مختلفين من داخل تطبيقات .NET. يمكنك إما تنزيل DLL الخاص بواجهة برمجة التطبيقات أو تثبيته من NuGet باستخدام الأمر التالي.

PM> Install-Package Aspose.Email

إضافة جهات اتصال إلى MS Exchange Server في C#

فيما يلي خطوات إضافة جهات اتصال إلى Microsoft Exchange Server في C#.

  • أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
  • بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
  • أنشئ كائنًا من فئة جهة الاتصال وعيّن خصائصه مثل الاسم والوظيفة والجنس والهاتف والأشخاص المرتبطين ، إلخ.
  • أخيرًا ، اتصل بـ EWSClient.CreateContact (جهة اتصال) لإضافة جهة اتصال.

يُظهر نموذج التعليمات البرمجية التالي كيفية إضافة جهة اتصال إلى Microsoft Exchange Server في 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);

// إنشاء اتصال جديد
Contact contact = new Contact();

// تعيين معلومات عامة
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";

// أضف أرقام الهواتف
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });

// الأشخاص المرتبطين بالاتصال
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 });
            
// قم بتعيين عنوان البريد الإلكتروني لجهة الاتصال
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);
}

حذف جهات الاتصال من MS Exchange Server في C#

يمكنك أيضًا حذف جهة اتصال من MS Exchange Server. لتصفية جهات الاتصال ، يمكنك استخدام الاسم أو البريد الإلكتروني أو أي خاصية أخرى مناسبة. فيما يلي خطوات حذف جهة اتصال من Microsoft Exchange Server في C#.

يُظهر نموذج التعليمات البرمجية التالي كيفية حذف جهات الاتصال من Microsoft Exchange Server في C#.

// تهيئة EWSClient
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

string strContactToDelete = "John Teddy";

// احصل على جهات اتصال
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// تصفية جهات الاتصال
foreach (Contact contact in contacts)
{
    // حذف اتصال
    if (contact.DisplayName.Equals(strContactToDelete))
        client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);

}
client.Dispose();

تحديث جهة اتصال على Exchange Server في C#

يمكنك أيضًا تحديث جهة اتصال على MS Exchange Server باستخدام Aspose.Email لـ .NET. فيما يلي خطوات إجراء هذه العملية.

  • أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
  • بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
  • احصل على جهات اتصال من Exchange Server باستخدام طريقة IEWSClient.GetContacts (EWSClient.MailboxInfo.ContactsUri).
  • بعد ذلك ، مرر عبر جهات الاتصال وقم بتصفية جهة الاتصال المطلوبة.
  • أخيرًا ، قم بتحديث خصائص جهة الاتصال واتصل بـ IEWSClient.UpdateContact (جهة اتصال) لحفظها.

يوضح نموذج التعليمات البرمجية التالي كيفية تحديث جهة اتصال على MS Exchange Server في 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);

// تهيئة EWSClient
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);

// قائمة بجميع جهات الاتصال وحلقة من خلال جميع جهات الاتصال
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);

// حدد الاسم المطلوب
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";

// تحديث جهة الاتصال
client.UpdateContact(contact);

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام Aspose.Email لـ .NET بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمت كيفية العمل مع جهات الاتصال على Microsoft Exchange Server في C#. لقد أوضحنا كيفية إضافة جهات الاتصال وإزالتها وتحديثها من MS Exchange Server برمجيًا في C#. بالإضافة إلى ذلك ، يمكنك استكشاف التوثيق لقراءة المزيد عن Aspose.Email لـ .NET. يمكنك أيضًا طرح أسئلتك عبر المنتدى.

أنظر أيضا