在 C# 中管理 Exchange Server 上的收件箱规则

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 服务 (EWS) 来处理 Exchange Server 上的收件箱规则。以下是使用 C# 在 Exchange Server 上创建收件箱规则的步骤。

以下代码示例展示了如何使用 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 Server 上的收件箱规则

以下是在 C# 中获取和更新 Exchange Server 上现有收件箱规则的步骤。

以下代码示例显示了如何在 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 Server 上的收件箱规则的 C# API - 获取免费许可证

您可以获得 免费临时许可证 来管理 MS Exchanger 服务器上的收件箱规则,而不受评估限制。

结论

在本文中,您了解了如何在 .NET 应用程序中使用 Microsoft Exchange Server 上的收件箱规则。在代码示例的帮助下,您了解了如何使用 C# 在 Exchange Server 上添加或更新收件箱规则。此外,您可以浏览 文档 以了解更多关于 Aspose.Email for .NET 的信息。此外,您可以将您的查询发布到我们的 论坛

也可以看看