用 C# 在 MS Exchange Server 上创建和删除文件夹

Microsoft Exchange Server 中,电子邮件被组织在不同的文件夹中,例如收件箱、发件箱等。此外,您可以根据需要创建自己的文件夹或子文件夹。在使用 MS Exchange Server 时,您可能需要以编程方式创建自定义文件夹。在本文中,您将了解如何使用 EWS 在 C# .NET 中的 MS Exchange Server 上创建文件夹或子文件夹。此外,我们还将介绍如何删除 Exchange Server 上的文件夹。

在 MS Exchange Server 上创建文件夹的 C# .NET API

要在 MS Exchange Server 上使用 EWS 管理文件夹,我们将使用 Aspose.Email for .NET。该 API 使得在 .NET 应用程序中使用 Exchange Server 的服务变得相当容易。您可以 下载 API 的 DLL 或使用以下命令从 NuGet 安装它。

PM> Install-Package Aspose.Email

用 C# 在 MS Exchange Server 上创建文件夹

以下是使用 C# 在 MS Exchange Server 上创建文件夹的步骤。

以下代码示例显示了如何使用 C# 中的 EWS 在 MS Exchange Server 上创建文件夹。

// 通过提供凭据创建 EWSClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// 获取收件箱 URI(在收件箱中创建文件夹)
string inbox = client.MailboxInfo.InboxUri;

// 指定文件夹名称
string folderName1 = "EMAILNET-35054";

try
{
    // 创建文件夹
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // 做一点事
}

用 C# 在 MS Exchange Server 上创建子文件夹

要创建子文件夹,您首先需要检查父文件夹是否存在。如果是,只需创建子文件夹,否则先创建父文件夹。以下步骤演示了如何使用 C# 在 MS Exchange Server 上创建子文件夹。

下面的代码示例展示了如何使用 C# 在 MS Exchange Server 上创建子文件夹。

// 通过提供凭据创建 EWSClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// 获取收件箱 URI
string inbox = client.MailboxInfo.InboxUri;

// 指定文件夹名称
string folderName1 = "EMAILNET-35054";

// 指定子文件夹名称
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // 创建文件夹
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

    // 创建子文件夹
    client.CreateFolder(inbox, folderName2);
}
catch
{
    // 做一点事
}

在 C# 中删除 MS Exchange Server 上的文件夹

以下是在 C# 中删除 MS Exchange Server 上的文件夹的步骤。

以下代码示例显示了如何在 C# 中删除 MS Exchange Server 上的文件夹。

// 通过提供凭据创建 EWSClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// 获取收件箱 URI
string inbox = client.MailboxInfo.InboxUri;

// 指定文件夹名称
string folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // 检查文件夹是否存在
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // 删除文件夹
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // 做一点事
}

获取免费 API 许可证

您可以获得 免费的临时许可证 以使用 Aspose.Email for .NET,而不受评估限制。

结论

在本文中,您了解了如何使用 C# 中的 EWS 处理 Microsoft Exchange Server 上的文件夹。在代码示例的帮助下,您已经了解了如何使用 C# 以编程方式在 MS Exchange Server 上创建和删除特定文件夹。此外,您可以浏览 文档 以了解更多关于 Aspose.Email for .NET 的信息。此外,您可以通过我们的 论坛 提问。

也可以看看