השיחות ב-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. זהו API רב עוצמה המספק מגוון תכונות ליישום יישומי לקוח דואר אלקטרוני. כמו כן, זה מאפשר לך לגשת לשירותים שונים של MS Exchange Server בצורה חלקה. אתה יכול להוריד את ה-DLL של ה-API או להתקין אותו מ-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
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
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
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
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 בחינם
אתה יכול לקבל [רישיון זמני] בחינם28 לשימוש ב-Aspose.Email עבור .NET ללא מגבלות הערכה.
סיכום
במאמר זה, למדת כיצד לנהל שיחות ב-Microsoft Exchange Server באמצעות C#. ראית כיצד למצוא, להעתיק, להעביר ולמחוק שיחות ב-MS Exchange Server באופן תכנותי ב-C#. בנוסף, אתה יכול לחקור את תיעוד כדי לקרוא עוד על Aspose.Email עבור .NET. כמו כן, אתה יכול לשאול את השאלות שלך דרך הפורום שלנו.