افزودن یا حذف مخاطبین از Microsoft Exchange Server در سی شارپ

Microsoft Exchange Server یک پلتفرم محبوب است که خدمات همکاری مختلفی مانند ایمیل، تقویم، مخاطبین و غیره را ارائه می‌دهد. در پست قبلی، نحوه خواندن ایمیل‌های Microsoft Exchange Server را به شما نشان دادیم. با این حال، ممکن است لازم باشد با مخاطبین موجود در Exchange Server به صورت برنامه‌نویسی کار کنید. در این مقاله با نحوه افزودن، حذف یا به روز رسانی مخاطبین در Microsoft Exchange Server در C#.NET آشنا می شوید.

C# .NET API برای دسترسی به مخاطبین در MS Exchange Server

برای کار با مخاطبین در Microsoft Exchange Server، از Aspose.Email for .NET استفاده خواهیم کرد. این یک API شناخته شده برای کار با کلاینت های ایمیل مختلف از داخل برنامه های NET است. می توانید DLL API را دانلود یا با استفاده از دستور زیر از NuGet نصب کنید.

PM> Install-Package Aspose.Email

افزودن مخاطبین به MS Exchange Server در سی شارپ

مراحل زیر برای افزودن مخاطبین به Microsoft Exchange Server در سی شارپ است.

  • ابتدا، شیء NetworkCredential را با نام کاربری، رمز عبور و دامنه ایجاد و مقداردهی اولیه کنید.
  • سپس، IEWSClient را با URI صندوق پست و شی NetworkCredential مقداردهی کنید.
  • یک شی از کلاس Contact ایجاد کنید و ویژگی های آن مانند نام، شغل، جنسیت، تلفن، افراد مرتبط و غیره را تنظیم کنید.
  • در نهایت، برای افزودن مخاطب، با EWSClient.CreateContact(Contact) تماس بگیرید.

نمونه کد زیر نحوه افزودن مخاطب به Microsoft Exchange Server در سی شارپ را نشان می دهد.

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 در سی شارپ

همچنین می توانید یک مخاطب را از MS Exchange Server حذف کنید. برای فیلتر کردن مخاطبین، می توانید از نام، ایمیل یا هر ویژگی مناسب دیگری استفاده کنید. مراحل زیر برای حذف یک مخاطب از Microsoft Exchange Server در سی شارپ آمده است.

نمونه کد زیر نحوه حذف مخاطبین از Microsoft Exchange Server در سی شارپ را نشان می دهد.

// 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 در سی شارپ

همچنین می توانید یک مخاطب را در MS Exchange Server با استفاده از Aspose.Email برای دات نت به روز کنید. مراحل زیر برای انجام این عملیات آورده شده است.

  • ابتدا، شیء NetworkCredential را با نام کاربری، رمز عبور و دامنه ایجاد و مقداردهی اولیه کنید.
  • سپس، IEWSClient را با URI صندوق پست و شی NetworkCredential مقداردهی کنید.
  • با استفاده از روش IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri) مخاطبین را از Exchange Server دریافت کنید.
  • پس از آن، مخاطبین را حلقه زده و مخاطب مورد نظر را فیلتر کنید.
  • در نهایت، ویژگی های مخاطب را به روز کنید و برای ذخیره با IEWSClient.UpdateContact(Contact) تماس بگیرید.

نمونه کد زیر نحوه به روز رسانی یک مخاطب را در MS Exchange Server در سی شارپ نشان می دهد.

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 برای دات نت بدون محدودیت ارزیابی، مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه کار با مخاطبین در Microsoft Exchange Server در سی شارپ را یاد گرفتید. ما نحوه افزودن، حذف و به‌روزرسانی مخاطبین را از MS Exchange Server به صورت برنامه‌نویسی در C# نشان داده‌ایم. علاوه بر این، می‌توانید مستندات را برای مطالعه بیشتر درباره Aspose.Email برای دات‌نت کاوش کنید. همچنین، می‌توانید سؤالات خود را از طریق [تالار گفتمان18 ما بپرسید.

همچنین ببینید