Microsoft Exchange Server 允許您為收件箱定義不同的規則,這些規則應用於消息,例如將消息移動到文件夾、刪除消息等。在 .NET 應用程序中使用 Exchange 服務時,您可能需要以編程方式管理收件箱規則。在本文中,您將了解如何使用 C# .NET 在 MS Exchange Server 上創建和更新收件箱規則。
用於在 Exchange Server 上創建和更新收件箱規則的 C# API
要在 MS Exchange Server 上創建和更新收件箱規則,我們將使用 Aspose.Email for .NET。 API 使得與 MS Exchange Server 的無縫協作變得非常容易。您可以 下載 API 的 DLL 或使用以下命令從 NuGet 安裝它。
PM> Install-Package Aspose.Email
在 C# 中的 Exchange Server 上創建收件箱規則
Aspose.Email for .NET 使用 Exchange Web Services (EWS) 來處理 Exchange Server 上的收件箱規則。以下是使用 C# 在 Exchange Server 上創建收件箱規則的步驟。
- 首先,連接到 Exchange Server 並將 EWS 客戶端的實例放入 IEWSClient 對像中。
- 然後,創建一個 InboxRule 類的對象。
- 使用 InboxRule.DisplayName 屬性設置規則的名稱。
- 創建 RulePredicates 類的實例並指定條件。
- 將 RulePredicates 實例分配給 InboxRule.Conditions 屬性。
- 創建 RuleActions 類的實例並設置操作。
- 將 RuleAction 實例分配給 InboxRule.Actions 屬性。
- 最後,調用 IEWSClient.CreateInboxRule(InboxRule) 創建規則。
以下代碼示例顯示如何使用 C# 在 Exchange Server 上創建收件箱規則。
// 設置 Exchange Server Web 服務 URL、用戶名、密碼和域
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// 連接到 Exchange 服務器
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// 創建新規則
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";
// 添加條件
RulePredicates newRules = new RulePredicates();
// 設置條件:主題包含字符串“ABC”
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;
// 添加動作
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;
// 創建規則
client.CreateInboxRule(rule);
在 C# 中更新 Exchange 服務器上的收件箱規則
以下是使用 C# 在 Exchange Server 上獲取和更新現有收件箱規則的步驟。
- 首先,連接到 Exchange Server 並將 EWS 客戶端的實例放入 IEWSClient 對像中。
- 然後,調用 IEWSClient.GetInboxRules() 方法獲取 InboxRule 數組中的所有規則。
- 遍歷數組中的每個 InboxRule。
- 根據某些條件過濾所需的規則。
- 更新規則的條件或操作。
- 最後調用IEWSClient.UpdateInboxRule(InboxRule)方法更新收件箱規則。
以下代碼示例顯示如何使用 C# 更新 MS Exchange Server 上的收件箱規則。
// 設置郵箱URI、用戶名、密碼和域
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// 連接到 Exchange 服務器
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// 獲取所有收件箱規則
InboxRule[] inboxRules = client.GetInboxRules();
// 遍歷每條規則
foreach (InboxRule inboxRule in inboxRules)
{
if (inboxRule.DisplayName == "Message from client ABC")
{
// 更新規則
inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
client.UpdateInboxRule(inboxRule);
}
}
用於在 Exchange 服務器上管理收件箱規則的 C# API - 獲取免費許可證
您可以獲得 免費臨時許可證 來管理 MS Exchanger Server 上的收件箱規則,沒有評估限制。
結論
在本文中,您了解瞭如何在 .NET 應用程序中使用 Microsoft Exchange Server 上的收件箱規則。借助代碼示例,您了解瞭如何使用 C# 在 Exchange Server 上添加或更新收件箱規則。此外,您可以瀏覽 文檔 以閱讀有關 Aspose.Email for .NET 的更多信息。此外,您可以將您的問題發佈到我們的論壇。