إدارة تكوينات المستخدم على خادم Exchange باستخدام EWS
يمكن استخدام Aspose.Email for .NET لإدارة تكوين المستخدم على خادم Exchange باستخدام EWSClient فئة. هذه الفئة تستخدم Exchange Web Services، المتوفرة فقط في Exchange Server 2007 والإصدارات اللاحقة. في هذا المقال، سنرى كيفية قراءة وإنشاء وتحديث وحذف تكوينات المستخدم على Exchange Server 2010. يتطلب Microsoft Exchange Server 2010 Service Pack 1 لجميع الميزات الموصوفة في هذا المقال. يوضح مقتطف الكود التالي كيفية الاتصال بـ Exchange Server 2010 في جميع الأمثلة في هذا المقال.
private static IEWSClient GetExchangeEWSClient()
{
const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
const string domain = @"";
const string username = @"username@ASE305.onmicrosoft.com";
const string password = @"password";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
return client;
}
قراءة تكوينات المستخدم
للحصول على معلومات تكوين المستخدم لمجلد معين من Exchange Server:
- الاتصال بخادم Exchange باستخدام IEWSClient الواجهة.
- استدعِ الـ IEWSClient.GetUserConfiguration() طريقة للحصول على تكوين المستخدم لمجلد.
- اعرض خصائص تكوين المستخدم مثل المعرف والاسم وعناصر القاموس كأزواج مفتاح-قيمة.
يوضح مقتطف الكود التالي كيفية قراءة تكوين المستخدم.
IEWSClient client = GetExchangeEWSClient();
Console.WriteLine("Connected to Exchange 2010");
// Get the User Configuration for Inbox folder
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
UserConfiguration userConfig = client.GetUserConfiguration(userConfigName);
Console.WriteLine("Configuration Id: " + userConfig.Id);
Console.WriteLine("Configuration Name: " + userConfig.UserConfigurationName.Name);
Console.WriteLine("Key value pairs:");
foreach (string key in userConfig.Dictionary.Keys)
{
Console.WriteLine(key + ": " + userConfig.Dictionary[key].ToString());
}
إنشاء تكوينات المستخدم
لإنشاء تكوين المستخدم لمجلد معين على Exchange Server:
- الاتصال بخادم Exchange باستخدام IEWSClient الواجهة.
- استدعِ الـ IEWSClient.CreateUserConfiguration() طريقة لإنشاء تكوين المستخدم لمجلد.
يظهر مقطع الشيفرة التالي كيفية إنشاء تكوينات المستخدم.
IEWSClient client = GetExchangeEWSClient();
Console.WriteLine("Connected to Exchange 2010");
// Create the User Configuration for Inbox folder
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
UserConfiguration userConfig = new UserConfiguration(userConfigName);
userConfig.Dictionary.Add("key1", "value1");
userConfig.Dictionary.Add("key2", "value2");
userConfig.Dictionary.Add("key3", "value3");
client.CreateUserConfiguration(userConfig);
تحديث تكوينات المستخدم
لتحديث تكوين المستخدم لمجلد معين في Exchange Server:
- الاتصال بخادم Exchange باستخدام IEWSClient الواجهة.
- استدعِ الـ IEWSClient.UpdateUserConfiguration() طريقة لتحديث تكوين المستخدم لمجلد.
يوضح مقتطف الكود التالي كيفية تحديث تكوين المستخدم.
IEWSClient client = GetExchangeEWSClient();
Console.WriteLine("Connected to Exchange 2010");
// Create the User Configuration for Inbox folder
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
UserConfiguration userConfig = client.GetUserConfiguration(userConfigName);
userConfig.Id = null;
// Update User Configuration
userConfig.Dictionary["key1"] = "new-value1";
client.UpdateUserConfiguration(userConfig);
حذف تكوينات المستخدم
لحذف تكوين المستخدم لمجلد معين في Exchange Server:
- الاتصال بخادم Exchange باستخدام IEWSClient الواجهة.
- استدعِ الـ IEWSClient.DeleteUserConfiguration() طريقة لحذف تكوين المستخدم لمجلد.
يوضح مقتطف الكود التالي كيفية حذف تكوين المستخدم.
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");
// Delete User Configuration
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
client.DeleteUserConfiguration(userConfigName);