يشار إلى المحادثات على Microsoft Exchange Server على أنها مجموعة رسائل البريد الإلكتروني في سلسلة رسائل. بكلمات بسيطة ، من المعروف أن البريد الإلكتروني وجميع الردود عليه عبارة عن محادثة. في هذه المقالة ، سنوضح لك كيفية التعامل مع المحادثات في MS Exchange Server برمجيًا. على وجه الخصوص ، سوف تتعلم كيفية البحث عن المحادثات ونسخها ونقلها وحذفها على MS Exchange Server في C# .NET.
- C# .NET API للعمل مع المحادثات على خادم MS Exchange
- البحث عن محادثات على MS Exchange Server في C#
- انسخ محادثة على MS Exchange Server في C#
- نقل محادثة على MS Exchange Server في C#
- حذف محادثة على MS Exchange Server في C#
C# .NET API للعمل مع المحادثات على خادم MS Exchange
لإدارة المحادثات على Microsoft Exchange Server ، سنستخدم Aspose.Email for .NET. إنها واجهة برمجة تطبيقات قوية توفر مجموعة من الميزات لتنفيذ تطبيقات عميل البريد الإلكتروني. كما يتيح لك الوصول إلى خدمات MS Exchange Server المختلفة بسلاسة. يمكنك إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته من NuGet باستخدام الأمر التالي.
PM> Install-Package Aspose.Email
البحث عن محادثات على MS Exchange Server في C#
فيما يلي خطوات البحث عن محادثات من مجلد في MS Exchange Server في C#.
- أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
- بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
- اتصل بأسلوب IEWSClient.FindConversations (IEWSClient.MailboxInfo.InboxUri) واحصل على محادثات في مصفوفة ExchangeConversation.
- أخيرًا ، قم بإجراء حلقة عبر كل كائن ExchangeConversation في المصفوفة واسترجع تفاصيله.
يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن محادثات من مجلد في 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);
// اتصل بـ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// الحصول على محادثات من البريد الوارد
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// عرض كل المحادثات
foreach (ExchangeConversation conversation in conversations)
{
// عرض خصائص المحادثة مثل المعرف والموضوع
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
انسخ محادثة على MS Exchange Server في C#
يمكنك أيضًا نسخ المحادثات من مجلد إلى آخر دون كتابة رمز معقد. للتوضيح ، دعنا نلقي نظرة على كيفية نسخ المحادثات من البريد الوارد إلى مجلد العناصر المحذوفة من Exchange Server في C# .NET.
- أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
- بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
- اتصل بأسلوب IEWSClient.FindConversations (IEWSClient.MailboxInfo.InboxUri) واحصل على محادثات في مصفوفة ExchangeConversation.
- حلقة من خلال كل ExchangeConversation في المصفوفة وتصفية واحد (ق) المطلوب.
- أخيرًا ، انسخ المحادثة باستخدام طريقة IEWSClient.CopyConversationItems (ExchangeConversation.ConversationId، client.MailboxInfo.DeletedItemsUri).
يُظهر نموذج التعليمات البرمجية التالي كيفية نسخ محادثة في MS Exchange Server باستخدام C# .NET.
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);
// الاتصال بـ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// احصل على محادثات
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// انسخ عنصر المحادثة بناءً على بعض الشروط
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
نقل محادثة على MS Exchange Server في C#
في القسم السابق ، قمنا فقط بنسخ المحادثات من مجلد إلى آخر. ومع ذلك ، في بعض الحالات ، قد تحتاج إلى نقل محادثة إلى مجلد معين. فيما يلي خطوات نقل المحادثات في MS Exchange Server في C# .NET.
- أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
- بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
- اتصل بأسلوب IEWSClient.FindConversations (IEWSClient.MailboxInfo.InboxUri) واحصل على محادثات في مصفوفة ExchangeConversation.
- حلقة من خلال كل ExchangeConversation في المصفوفة وتصفية واحد (ق) المطلوب.
- أخيرًا ، انقل المحادثة باستخدام طريقة IEWSClient.MoveConversationItems (ExchangeConversation.ConversationId، client.MailboxInfo.DeletedItemsUri).
يُظهر نموذج التعليمات البرمجية التالي كيفية نقل محادثة في MS Exchange Server باستخدام C# .NET.
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);
// اتصل بـ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// احصل على محادثات
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// انقل عنصر المحادثة بناءً على بعض الشروط
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
حذف محادثة على MS Exchange Server في C#
أخيرًا وليس آخرًا ، دعنا نلقي نظرة على كيفية حذف محادثة من MS Exchange Server في C#.
- أولاً ، قم بإنشاء وتهيئة كائن NetworkCredential باستخدام اسم المستخدم وكلمة المرور والمجال.
- بعد ذلك ، قم بتهيئة IEWSClient باستخدام كائن URI الخاص بصندوق البريد وكائن NetworkCredential.
- بعد ذلك ، استدع أسلوب IEWSClient.FindConversations (IEWSClient.MailboxInfo.InboxUri) واحصل على محادثات في مصفوفة ExchangeConversation.
- قم بإجراء حلقة خلال كل ExchangeConversation في المصفوفة وقم بتصفية العنصر (المحولات) المطلوبة.
- أخيرًا ، احذف محادثة باستخدام طريقة IEWSClient.DeleteConversationItems (ExchangeConversation.ConversationId).
يُظهر نموذج التعليمات البرمجية التالي كيفية حذف محادثة من MS Exchange Server في C# .NET.
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);
// اتصل بـ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// احصل على محادثات
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// احذف عنصر المحادثة بناءً على بعض الشروط
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}
احصل على ترخيص API مجاني
يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام Aspose.Email لـ .NET بدون قيود تقييم.
استنتاج
في هذه المقالة ، تعلمت كيفية إدارة المحادثات في Microsoft Exchange Server باستخدام C#. لقد رأيت كيفية البحث عن المحادثات ونسخها ونقلها وحذفها على MS Exchange Server برمجيًا في C#. بالإضافة إلى ذلك ، يمكنك استكشاف التوثيق لقراءة المزيد حول Aspose.Email لـ .NET. يمكنك أيضًا طرح أسئلتك عبر المنتدى.