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

Microsoft Exchange Server 将电子邮件保存在不同的文件夹中,例如收件箱、发件箱等。此外,它还允许您在预定义的文件夹中创建自己的文件夹或子文件夹。在某些情况下,您可能需要以编程方式在 Exchange Server 上创建自定义文件夹。为此,本文介绍了如何在 Java 中的 MS Exchange Server 上使用 EWS 创建或删除文件夹或子文件夹。

在 MS Exchange Server 上创建文件夹的 Java API

要使用 EWS 处理 MS Exchange Server 上的文件夹,我们将使用 Aspose.Email for Java。它是一个功能强大的 API,可从 Java 应用程序中使用 Exchange Server 的服务。您可以 下载 API 或使用以下 Maven 配置安装它。

存储库:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

依赖:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

用 Java 在 MS Exchange Server 上创建文件夹

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

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

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

// 获取收件箱 URI(在收件箱中创建文件夹)
String inbox = client.getMailboxInfo().getInboxUri();

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

try {
	// 创建文件夹
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// 做一点事
}

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

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

以下代码示例显示了如何使用 Java 在 MS Exchange Server 上创建子文件夹。

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

// 获取收件箱 URI(在收件箱中创建文件夹)
String inbox = client.getMailboxInfo().getInboxUri();

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

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

try
{			
    // 创建文件夹
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // 创建文件夹
        client.createFolder(inbox, folderName1);
    }

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

用 Java 删除 MS Exchange Server 上的文件夹

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

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

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

// 获取收件箱 URI(在收件箱中创建文件夹)
String inbox = client.getMailboxInfo().getInboxUri();

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

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// 检查文件夹是否存在
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// 删除文件夹
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // 做一点事
}

获取免费 API 许可证

您可以获得 免费的临时许可证 使用 Aspose.Email for Java,没有评估限制。

结论

在本文中,您了解了如何使用 Java 中的 EWS 处理 Microsoft Exchange Server 上的文件夹。您已经了解了如何使用 Java 以编程方式在 MS Exchange Server 上创建和删除特定文件夹。此外,您可以从 文档 中了解更多关于 Aspose.Email for Java 的信息。如果您有任何疑问,可以将它们发布到我们的 论坛

也可以看看